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 Sub

Le 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 Sub

Un 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

Rechercher des sujets similaires à "next imbriques"