For next imbriqués
Bonjour,
J'ai une liste (caisse.xlsm) et une feuille d'inscription (inscription.xlsx). J'ai beau essayer d'imbriquer deux for, je n'arrive jamais au résultat espéré.
Sub Essai()
Dim nocarte As String, nom As String, adr1 As String, adr2 As String, tel As String, montant As String
Dim i As Integer, ii As Integer, nomfichier As String, nomfeuille As String
Workbooks("Caisse.xlsm").Activate
For i = 2 To 119
nocarte = Range("A" & i).Value
nom = Range("B" & i).Value
adresse = Range("f" & i).Value
ville = Range("g" & i).Value
tel = Range("h" & i).Value
montant = Range("i" & i).Value
Workbooks("Inscription.xlsx").Activate
For ii = 3 To 1000 Step 11
Range("h" & ii + 2).Value = nocarte
Range("c" & ii + 4).Value = nom
Range("c" & ii + 4).Select
Range(ActiveCell.Address).Offset(1, 0).Value = adr1
Range(ActiveCell.Address).Offset(2, 0).Value = adr2
Range(ActiveCell.Address).Offset(4, 0).Value = tel
Range(ActiveCell.Address).Offset(4, 5).Value = montant
Next
Next
End SubLe but est de recopier les données de la liste (caisse.xlsm) dans le fichier inscription.xlsx. J'ai un problème de logique mais je n'arrive pas à le résoudre.
Merci
Claire
Bonjour
essaie ceci (non testé)
Sub Essai()
Dim nocarte As String, nom As String, adr1 As String, adr2 As String, tel As String, montant As String
Dim i As Integer, ii As Integer, nomfichier As String, nomfeuille As String
Workbooks("Caisse.xlsm").Activate
For i = 2 To 119
nocarte = Range("A" & i).Value
nom = Range("B" & i).Value
adresse = Range("f" & i).Value
ville = Range("g" & i).Value
tel = Range("h" & i).Value
montant = Range("i" & i).Value
Workbooks("Inscription.xlsx").Activate
ii=(i-2)*11+3
Range("h" & ii + 2).Value = nocarte
Range("c" & ii + 4).Value = nom
Range("c" & ii + 4).Select
Range(ActiveCell.Address).Offset(1, 0).Value = adr1
Range(ActiveCell.Address).Offset(2, 0).Value = adr2
Range(ActiveCell.Address).Offset(4, 0).Value = tel
Range(ActiveCell.Address).Offset(4, 5).Value = montant
Next
End SubUn gros merci à H2so4,
Cela fonctionne à merveille après avoir corrigé mes cellules de destination. Maintenant je dois comprendre.
Claire
ClaireD a écrit :Un gros merci à H2so4,
Cela fonctionne à merveille après avoir corrigé mes cellules de destination. Maintenant je dois comprendre.
Claire
bonjour
en fait ce que tu veux faire (ce que j'ai apparemment bien compris), c'est copier les données de chaque ligne de caisse.xlsm vers des cellules de inscriptions.xlsm qui sont réparties sur un groupe de 11 lignes.
pour cela il ne faut pas 2 boucles imbriquées, mais il faut déterminer la ligne de référence (ii) dans inscriptions.xlsm en fonction de la ligne de référence dans caisse.xlsm, ce que fait l'instruction ii=(i-2)*11+3