XL 2010 Copier lignes nb de fois variable

  • Initiateur de la discussion Initiateur de la discussion Sarnia
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sarnia

XLDnaute Nouveau
Bonjour,

J'ai un tableau dans lequel se trouvent des lignes avec des informations pour éditer des étiquettes. J'aimerais
pouvoir copier ces informations un certain nombre de fois les unes à la suite des autres. Ce nombre de fois varie d'un dossier à l'autre ainsi que le nombre de lignes à copier. Aujourd'hui, je le fais manuellement mais j'avoue que c'est fastidieux.

Dans l'exemple en pièce jointe :

les données de la ligne 2 (article 1) - colonne A à I seraient copiées 29 fois sur l'onglet EAN
les données de la ligne 3 (article 2) - colonne A à I seraient copiées 58 fois sur l'onglet EAN.
Ces 58 lignes se situeraient juste en dessous des 29 lignes de l'article 1
etc

La colonne TOTAL indique le nombre de fois qu'il faut copier les lignes.


Pourriez-vous me dire comment je pourrais faire ?

En espérant avoir été suffisamment claire.

Merci d'avance.
 

Pièces jointes

Bonjour Sarnia,
De retour le fichier avec une macro, donc il faut activer les macro à l'ouverture.
voici le code macro
VB:
Sub recap()
ligne = 2
Feuil2.[A2:I2000].ClearContents 'efface
For lig = 2 To Feuil1.[M65000].End(3).Row
For lg = 1 To Feuil1.Cells(lig, 13)
Feuil2.Range("A" & ligne & ":I" & ligne).Value = Feuil1.Range("A" & lig & ":I" & lig).Value
ligne = ligne + 1
Next
Next
End Sub

outils>macro>exécuter>recap
Bruno
 

Pièces jointes

Bonjour Bruno,

Merci mille fois pour ton retour ! C'est formidable.

Le petit hic, c'est que la mise en forme des EAN en mode texte est perdue lors de la recopie (les zéros qui débutent le code). Si tu penses pouvoir régler ce léger souci, ça serait la cerise sur le gâteau.
Sinon, c'est pas grave, je me débrouillerai pour repasser en mode texte une fois la copie faite.

En tout cas, merci encore ! Je vais gagner un temps précieux.
 
Bonjour à tous,

A essayer,
Sub recap()
ligne = 2
Feuil2.[A2:I2000].ClearContents 'efface
Feuil2.[I2:I2000].NumberFormat = "@" 'Format texte colonne I
For lig = 2 To Feuil1.[M65000].End(3).Row
For lg = 1 To Feuil1.Cells(lig, 13)
Feuil2.Range("A" & ligne & ":I" & ligne).Value = Feuil1.Range("A" & lig & ":I" & lig).Value
ligne = ligne + 1
Next
Next
End Sub

JHA
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour