Explication macro

Fermé
-
Messages postés
6
Date d'inscription
mardi 27 février 2018
Statut
Membre
Dernière intervention
27 mars 2018
-
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 !

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
Messages postés
6
Date d'inscription
mardi 27 février 2018
Statut
Membre
Dernière intervention
27 mars 2018

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