Bonjour à tous,
Franchement ce forum est top et m'a beaucoup aidé, mais voila je bloque sur une partie de ma macro.
J'èspère que je serai clair dans mon explication.
Je souhaiterais que
- pour chaque cellule contenant des données de ma colonne D on insère un ligne à la suite,
- Copier le contenu des cellules A et B du dessus
- Remplir la cellule C par la valeur de la cellule D du dessus
- Supprimer la colonne D
- Et recommencer tant qu'il n'y a plus aucune cellule contenant des données dans la colonne D.
J'ai le début du code enfin je crois mais n'arrive pas a créer une boucle
Voila ce que j'ai
Set FL1 = Nothing
Dim Ligne As Long
' derniere ligne remplie de la colonne E
Ligne = ActiveSheet.Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row
' boucle depuis la dernière ligne remplie jusqu'à la 1
For n = Ligne To 2 Step -1 ' si necessaire de s'arrêter avant la ligne 1 changer To 1
' si cellule en E vide
If Range("E" & n).Value <> "" Then
' alors insertion à la ligne suivante
Rows(n + 1 & ":" & n + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If
Mercii de votre aide
Next
With Range("A2:C2" & [D65000].End(xlUp).Row)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
With Range("D2" & [E65000].End(xlUp).Row)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C[1]"
.Value = .Value
Columns(5).Delete
End Sub
Franchement ce forum est top et m'a beaucoup aidé, mais voila je bloque sur une partie de ma macro.
J'èspère que je serai clair dans mon explication.
Je souhaiterais que
- pour chaque cellule contenant des données de ma colonne D on insère un ligne à la suite,
- Copier le contenu des cellules A et B du dessus
- Remplir la cellule C par la valeur de la cellule D du dessus
- Supprimer la colonne D
- Et recommencer tant qu'il n'y a plus aucune cellule contenant des données dans la colonne D.
J'ai le début du code enfin je crois mais n'arrive pas a créer une boucle
Voila ce que j'ai
Set FL1 = Nothing
Dim Ligne As Long
' derniere ligne remplie de la colonne E
Ligne = ActiveSheet.Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row
' boucle depuis la dernière ligne remplie jusqu'à la 1
For n = Ligne To 2 Step -1 ' si necessaire de s'arrêter avant la ligne 1 changer To 1
' si cellule en E vide
If Range("E" & n).Value <> "" Then
' alors insertion à la ligne suivante
Rows(n + 1 & ":" & n + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If
Mercii de votre aide
Next
With Range("A2:C2" & [D65000].End(xlUp).Row)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
With Range("D2" & [E65000].End(xlUp).Row)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C[1]"
.Value = .Value
Columns(5).Delete
End Sub