Macro : Ajouter des lignes en fonction d'une variable
Bonjour,
J'ai besoin de votre aide pour la réalisation d'une marco.
Tout d'abord je vous présente le contexte. J'ai deux documents Excel assez simple
1 : Liste-equipe
Ce document est composé d'une feuille et de 3 colonnes.
Nom de l'équipe | Numéro equipe | Nombre de personne
2 : nom des personnes
Ce document est composé d'une feuille et de 3 colonnes.
Nom de l'équipe | Numéro equipe | Nom de la personne
Je souhaite avec une macro que sur le document 2 (nom des personnes) créer automatiquement le nombre de ligne en fonction d'une cellule du document 1 (nombre de personne) et pour chaque ligne créé reprendre les éléments dans les colonnes A et B du document 1.
Je ne sais pas si je suis clair mais avec les documents suivants il y a un exemple de ce que je souhaite faire.
J'espère que c'est pas une requête trop compliqué et je vous remercie par avance.
Cordialement,
Jal
Salut,
La macro ci-dessous, placée dans le fichier ci-joint, devrait réaliser ce que tu désires, à condition que le présent fichier et ton fichier ‘nom des personnes’ soient tous deux placés dans le même dossier.
Sub pp()
Dim DerLig As Integer, i As Integer, j As Integer, Chemin As String, Compteur As Integer
DerLig = Range("A" & Rows.Count).End(xlUp).Row
Chemin = ThisWorkbook.Path
Application.DisplayAlerts = False 'Au cas où le fichier 'nom des personnes' est déjà ouvert
Workbooks.Open Filename:=Chemin & "\nom des personnes.xlsx"
Rows("2:" & Rows.Count).Delete
Compteur = 1
With ThisWorkbook.Sheets("Feuil1")
For i = 2 To DerLig
For j = 1 To .Range("C" & i)
Compteur = Compteur + 1
Range("A" & Compteur) = .Range("A" & i)
Range("B" & Compteur) = .Range("B" & i)
Next j
Next i
End With
DerLig = Range("A" & Rows.Count).End(xlUp).Row
With Range("A2:C" & DerLig)
.Borders.Weight = xlThin
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Rows("2:" & DerLig).RowHeight = 33
ActiveWorkbook.Save
Application.DisplayAlerts = True
End SubCordialement.
C'est exactement ce que je souhaite. Merci beaucoup c'est parfait