Explication macro

Fermé
aline - Modifié le 27 févr. 2018 à 15:05
algauthi Messages postés 6 Date d'inscription mardi 27 février 2018 Statut Membre Dernière intervention 27 mars 2018 - 28 févr. 2018 à 08:55
Bonjour à tous,

J'ai créé ce petit bout de code le mois dernier mais je suis incapable de retrouver ce que j'ai écrit pour le modifier.
Pouvez-vous m'aider à la décomposer pas à pas ?
J'aimerai y ajouter le copier/coller du contenu de mes colonnes quand la macro créer les lignes.

Sub ..()

Dim lig&, lig1&, col%
Application.ScreenUpdating = True

For lig = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
  lig1 = lig + 1
  col = 26
  While Cells(lig, col) <> ""
    Rows(lig1).Insert
    Cells(lig1, 1) = Cells(lig, 1)
    Cells(lig1, 26) = Cells(lig, col)
    lig1 = lig1 + 1
    col = col + 1
  Wend
Next
[AA:AA].Resize(, Columns.Count - 26).ClearContents

End Sub

Merci d'avance !
A voir également:

1 réponse

Bonjour,

Est-ce cela que tu souhaite faire ?


Sub test()

Dim lig, lig1, col As Integer
Application.ScreenUpdating = False ' Desactive l'affichage des opérations pour gagner du tps d'éxécution

For lig = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 'de la derniere ligne à la premiere ligne
lig1 = lig + 1 ' Selection de la derniere ligne (vide)
col = 26 ' Colonne Z
Rows(lig1).Insert ' Insere une ligne X à la fin
Rows(lig1 - 1).Copy ' Copie la ligne précédente
Range("A" & lig1).Select
ActiveSheet.Paste ' Colle les valeurs sur la ligne créée
Next

[AA:AA].Resize(, Columns.Count - 26).ClearContents ' Efface toutes les colonnes à partir de AA

Application.ScreenUpdating = True ' Réactive l'affichage des opérations

End Sub
0
algauthi Messages postés 6 Date d'inscription mardi 27 février 2018 Statut Membre Dernière intervention 27 mars 2018
28 févr. 2018 à 08:55
Bonjour Silver,

Merci beaucoup, je m'y retrouve dans mon code !
La ligne Rows(lig1-1).Select, tu indiques que ça copie la ligne précédente, hors une fois la macro réalisée je n'ai que la colonne A qui est copiée/collée.
Aurais-tu une idée du changement à effectuer ?

Merci,
Aline
0