Bonjour à tous. Je suis débutant en VBA.
Je vous envoie un fragment de fichier de planification pour lequel je voudrais mettre le code des tâches (colonne A) sous les lignes de façon automatique car le fichier réel renferme un nombre important de lignes similaires.
Les tâches sont identifiées par les lignes dont la colonne C est vide
J'ai imaginé l'algorithme suivant:
Si la cellule CX est non vide copy la cellule AX de la même ligne et colle dans AX+1 et concaténer avec ".1"
Incrémente ensuite .2; .3; ... tant que la cellule "C" de la même ligne est vide, jusqu'à rencontrer une cellule non vide de la colonne A
Si tu rencontres une cellule non vide dans la colonne A, Copie la cellule; décale d'une ligne vers le bas, Colle et concaténer avec ".1"
Incrémente ensuite .2; .3 .... tant que la cellule "C" de la même ligne est vide, jusqu'à rencontrer une cellule non vide de la colonne A
Arrête lorsque tu rencontres la cellule qui contient "Total" .
J'ai joint le fichier initial (fichier planning) et le résultat que je souhaite avoir( fichier résultat)
J'ai commencé ceci mais la phase pour incrémenter m'est difficile car je ne sais pas indiquer comment s'arrêter si la cellule n'est pas vide et reprendre.
Si quelqu'un peut m'aider je suis preneur. Merci d'avance.
[Sub incrémentercode()
Sheets (feuil1).Select
Dim i As Integer
Do While Not IsEmpty(Cells(i, 3))
Cells(i, 1).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
Cells(i + 1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(i + 1, 1) = Cells(i + 1, 1) & ".1"
Loop
Do While IsEmpty (Cells(i, 3))
Cells(i, 1).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
Loop
End Sub][/cpp]
---------------
Gagnons du temps