Macro boucle VBA débutant

Bonjour à tous,

Je débute en VBA et je n'arrive pas à faire une boucle sur un fichier Excel.

Je souhaite recopier une ligne Excel 10 fois (Liste 2) sur une autre feuille (RESULTATS) puis recopier une liste de 10 cellules (Liste 1) et faire correspondre les deux sur la feuille RESULTATS.

Je souhaiterai également répéter cette action tant qu'il y a des données dans la feuille Liste 2.

Je vous joins mon fichier si ce n'est pas clair.

Merci à tous pour votre aide

15test-macro.xlsx (11.05 Ko)

Bonjour,

Ton fichier joint est en ".xlsx", donc il n'y a pas de macro dedans...

Voilà une proposition (non exhaustive) :

Sub MacroTest()

'Déclaration des variables
Dim Lig1 As Long, Lig2 As Long, Lig As Long 'Long = nombre entier pouvant atteindre de grandes valeurs
Dim F1 As Worksheet, F2 As Worksheet

Set F1 = Worksheets("LISTE 1") 'Affecte la feuille "LISTE 1" à un objet feuille (1 valeur à changer si changement de nom + plus lisible dans le code)
Set F2 = Worksheets("LISTE 2")
With Sheets("RESULTATS")
    For Lig2 = 1 To F2.Range("A" & Rows.Count).End(xlUp).Row 'Boucle sur les lignes de F2
        For Lig1 = 1 To F1.Range("A" & Rows.Count).End(xlUp).Row 'Boucle sur les lignes de F1
            Lig = Lig + 1 'Compteur de ligne pour ne jamais écrire sur la même ligne de la feuille RESULTATS
            .Range("A" & Lig) = F2.Range("A" & Lig2) 'Report de la 1ère valeur
            .Range("B" & Lig) = F2.Range("B" & Lig2) '...
            .Range("C" & Lig) = F2.Range("C" & Lig2)
            .Range("D" & Lig) = F2.Range("D" & Lig2)
            .Range("E" & Lig) = F1.Range("A" & Lig1)
            .Range("F" & Lig) = F1.Range("B" & Lig1)
            .Range("G" & Lig) = F1.Range("C" & Lig1)
            .Range("H" & Lig) = F1.Range("D" & Lig1)
        Next Lig1
    Next Lig2
End With

End Sub

Merci pour votre retour ça fonctionne parfaitement !

Je commence à mieux comprendre le fonctionnement

J'ai une autre question : comment faire une rechercheV avec des conditions en VBA ?

Je souhaite également rechercher dans la feuil1 la lettre (colonne H) correspondant à la combinaison de 2 critères : A2 et C2 (par exemple). Le but serait d'aller ensuite dans la feuil3 est de de faire correspondre cette colonne H pour ensuite répercuter toute la liste de lettre dans la page Résultat. Je pense que la recherchev s'établirait dans la page Résultat car les critères de recherche sont affichés dans cette page (Colonnes A & C).

Merci pour votre aide,

Bonne journée

3test-2.xlsx (10.92 Ko)
Rechercher des sujets similaires à "macro boucle vba debutant"