Macro dupplication de ligne (nbre dupplications variable)

  • Initiateur de la discussion Initiateur de la discussion franck70
  • 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 !

F

franck70

Guest
Bonjour à tout le forum,

Je souhaite créer une macro qui va me duppliquer une ligne le nombre de fois qui est indiqué dans une des cellules de la ligne à duppliquer (exemple du tableau de départ et d'arrivéer dans fichier joint)
Je ne sais pas du tout comment faire car le programme dépasse mes compétences en macro : il faut "enregistrer en mémoire" le nombre de ligne à duppliquer, les duppliquer, mais tenir compte du fait qu'il ne doit pas à nouveau duppliquer les lignes qu'on vient de créer. Bref, le code est surement bref, mais assez complexe je pense.

Je vous remercie d'avance pour votre aide
 

Pièces jointes

Re : Macro dupplication de ligne (nbre dupplications variable)

Bonjour

Ci dessous un code à tester
Code:
Private Sub CommandButton1_Click()

Dim Cellule As Range
Dim Nomfeuille1 As String
Dim Col As String
Dim i As Byte
'parametre
Nomfeuille1 = "Feuil1"
Col = "c"
With Sheets("Feuil2")

For Each Cellule In Sheets(Nomfeuille1).Range(Col & "2:" & Col & Sheets(Nomfeuille1).Range(Col & Sheets(Nomfeuille1).Rows.Count).End(xlUp).Row)
    If IsNumeric(Cellule.Value) Then
        For i = 1 To CByte(Cellule.Value) + 1
            Sheets("Feuil1").Rows(Cellule.Row).Copy _
         Destination:=.Rows(.Range("A" & .Rows.Count).End(xlUp).Row + 1)
        Next i
    End If
Next Cellule

End With

End Sub
Les données sont copiées de la feuille 1 dans la feuille 2
JP
 
Dernière édition:
Re : Macro dupplication de ligne (nbre dupplications variable)

Bonsoir,

Une autre proposition :

Code:
Sub duppliq()
Dim Cel As Range
Dim I As Long
Application.ScreenUpdating = False
Columns("E:G").Clear
Range("E1").Resize(1, 3).Value = Range("A1").Resize(1, 3).Value
For I = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    Cells(Rows.Count, 5).End(xlUp)(2).Resize(Cells(I, 3) + 1, 3).Value = Cells(I, 1).Resize(1, 3).Value
Next I
End Sub

Bonne soirée
 
Re : Macro dupplication de ligne (nbre dupplications variable)

Bonjour jp14 et bhbh

Merci beaucoup pour votre aide. Ca fonctionne très bien

bhbh, j'ai une petite question. A quel endroit est défini le fait que le nombre de ligne à duppliquer est dans la 3ème colonne ? C'est juste au cas où je veuille une macro simiulaire mais en mettant le compteur dans la 2ème colonne par exemple

Merci d'avance
 
Re : Macro dupplication de ligne (nbre dupplications variable)

Bonjour
Bonjour jp14 et bhbh

bhbh, j'ai une petite question. A quel endroit est défini le fait que le nombre de ligne à duppliquer est dans la 3ème colonne ? C'est juste au cas où je veuille une macro simiulaire mais en mettant le compteur dans la 2ème colonne par exemple
Merci d'avance
Il suffit de changer le nom de la colonne
Col = "c"

JP
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Retour