DEBRAY JEROME
Nouveau membre
Bonjour à toutes & à tous,
Je suis nouveau sur ce forum et c'est avec grand plaisir que je post mon premier sujet.
Pour rentrer dans le vif du sujet:
J'ai un fichier excel qui comporte pour le moment 2 feuilles nommées: liste (Feuille 1) et HP (Feuille 2).
Feuille1:
cette feuille contient une liste de travaux à effectuer par des intervenants différents.
Colonne A: initiales des intervenants
Colonne B: Date de la demande
Colonne C: Machine
Colonne D: Nature de la tacheColonne
Colonnes E,F,G,H: ces colonnes servent à voir l'avancement (elles sont "coloriées" par le resp.maintenance au fur & à mesure de l'avancement).
Feuille2:
Elles sert de feuille de destination pour les taches d'une personne. Cette feuille est renommée aux initailes de l'intervenant manuellement.
Objectif:
J'ai commencer à créer un code vba (je débute donc pas facile malgré toutes les lectures.......) qui me permet de tester la valeur de la colonne A et, si celle ci est égale à mon test, je la copie puis la recopie dans la feuille 2.
Quand mon code sera OK pour cette page, je vais devoir l'appliquer pour tous les intervenants afin de pouvoir éditer en début de semaines les taches et suivre ainsi l'avacement de mes techniciens.
Problemes: lors de la recopie sur la feuille 2, j'ai des lignes blanches qui s'insèrent entre les lignes recopiées (je suis sur que c'est normal vu mon code mais je ne sais pas comment faire commencer la recopie de mes lignes apres la derniere ligne écrite....)
De plus, je n'arrive pas à faire recopier les couleurs de mes cases E,F,G,H donc pas d'avancement.
Voici mon code:
------------------------------------------------------------------------------------------------------------------------------
Sub MAIN()
Dim i As Double
Dim Rw As Range
For i = 1 To 65536
'TEST TACHES HP
If Worksheets("Liste").Cells(i, 1).Value = "HP" Then
Range("A" & i & ":H" & i).Copy
Worksheets("HP").Range("A" & i & "" & i).Value = Worksheets("Liste").Range("A" & i & "" & i).Value
Worksheets("HP").Range("A" & i & ":H" & i).Interior.ColorIndex = Worksheets("Liste").Range("E" & i & ":H" & i).Interior.ColorIndex
End If
Next i
End Sub
-------------------------------------------------------------------------------------------------
PS: J'ai déja essayé de reprendre certains codes qui étaint sur ce forum mais sans résultats.
Pourriez vous m'aider??
Je ne demande pas que l'on m'écrive le code, je cherche plutot à comprendre.
Je vous remercie par avance.
Jerome DEBRAY
Je suis nouveau sur ce forum et c'est avec grand plaisir que je post mon premier sujet.
Pour rentrer dans le vif du sujet:
J'ai un fichier excel qui comporte pour le moment 2 feuilles nommées: liste (Feuille 1) et HP (Feuille 2).
Feuille1:
cette feuille contient une liste de travaux à effectuer par des intervenants différents.
Colonne A: initiales des intervenants
Colonne B: Date de la demande
Colonne C: Machine
Colonne D: Nature de la tacheColonne
Colonnes E,F,G,H: ces colonnes servent à voir l'avancement (elles sont "coloriées" par le resp.maintenance au fur & à mesure de l'avancement).
Feuille2:
Elles sert de feuille de destination pour les taches d'une personne. Cette feuille est renommée aux initailes de l'intervenant manuellement.
Objectif:
J'ai commencer à créer un code vba (je débute donc pas facile malgré toutes les lectures.......) qui me permet de tester la valeur de la colonne A et, si celle ci est égale à mon test, je la copie puis la recopie dans la feuille 2.
Quand mon code sera OK pour cette page, je vais devoir l'appliquer pour tous les intervenants afin de pouvoir éditer en début de semaines les taches et suivre ainsi l'avacement de mes techniciens.
Problemes: lors de la recopie sur la feuille 2, j'ai des lignes blanches qui s'insèrent entre les lignes recopiées (je suis sur que c'est normal vu mon code mais je ne sais pas comment faire commencer la recopie de mes lignes apres la derniere ligne écrite....)
De plus, je n'arrive pas à faire recopier les couleurs de mes cases E,F,G,H donc pas d'avancement.
Voici mon code:
------------------------------------------------------------------------------------------------------------------------------
Sub MAIN()
Dim i As Double
Dim Rw As Range
For i = 1 To 65536
'TEST TACHES HP
If Worksheets("Liste").Cells(i, 1).Value = "HP" Then
Range("A" & i & ":H" & i).Copy
Worksheets("HP").Range("A" & i & "" & i).Value = Worksheets("Liste").Range("A" & i & "" & i).Value
Worksheets("HP").Range("A" & i & ":H" & i).Interior.ColorIndex = Worksheets("Liste").Range("E" & i & ":H" & i).Interior.ColorIndex
End If
Next i
End Sub
-------------------------------------------------------------------------------------------------
PS: J'ai déja essayé de reprendre certains codes qui étaint sur ce forum mais sans résultats.
Pourriez vous m'aider??
Je ne demande pas que l'on m'écrive le code, je cherche plutot à comprendre.
Je vous remercie par avance.
Jerome DEBRAY