VBA - Boucle recherche de données et alimentation d'un tableau

Bonjour,

Je cherche comme l'indique le sujet, à récupérer des données d'un autre classeur que je copierai vers un autre classeur, toutefois je cherche à ajouter une nouvelle ligne en fonction de différents noms de postes (c'est ici que doit intervenir la boucle que je ne maîtrise absolument pas pour le moment).

Le classeur ETAT_Budget_General est une extraction PDF du logiciel que je transforme ensuite en Excel, c'est à partir de ce classeur que je souhaite retrouver mes données. Sachant que les instances sont menés à changer au court de l'année.

Le but serait de remplir mon tableau déjà existant MacroProjet_Etat_Budget_General à partir de ces données cependant il y a différentes contraintes à prendre en compte que j'explique directement sur le fichier Excel pour être plus explicite.

De plus, serait-il possible d'expliquer directement certaines lignes de code les plus fastidieuses dans le VBE pour que je puisse comprendre le déroulement ?

Mes compétences sont entrain de s'améliorer mais je suis encore loin d'être autonome alors un petit coup de pouce serait vraiment la bien venue =)

Si vous avez des questions n'hésitez surtout pas !

Voici mon code pour le moment, or il s'avère que ça ne fonctionne pas :/

Sub table1_loop_recherche()

Dim WB1 As Workbook
Dim WB2 As Workbook
Dim WST1 As Worksheet
Dim Cell As Range

Set WB1 = Workbooks("ETAT_Budget_General.xlsx")
Set WB2 = Workbooks("Analyse_Etat_Budget_General.xlsx")
Set WST1 = Worksheets("Table 1")

    For Each Cell In WB1.WST1.Range("A4:A10")
        If Cell.Value = "COM" Then
                Range("A4:K4").Select
                    Selection.Copy
                WB2.Activate
                    Rows("4:4").Select
                    Selection.Insert Shift:=xlDown
        End If
    Next Cell

MsgBox "Toutes les valeurs ont été ajoutées au tableau."

End Sub

Avec de la persévérance j'y suis arrivé, du moins pas totalement. Voici la suite, la boucle fonctionne, et j'arrive ainsi à ajouter le reste des formules pour compléter mon tableau. Toutefois, j'ai un petit soucis. j'aimerai que lorsque la boucle rentre en action, que les données reprises apparaissent dans le même ordre que dans le tableau Etat_Budget_General

Sub table1_loop_recherche()

'Workbooks("ETAT_Budget_General.xlsx")
'Worksheets("Table 1")

    For Each Cell In Workbooks("ETAT_Budget_General.xlsx").Worksheets("Table 1").Range("A4:A100")
        If Cell.Value = "COM" Then
                Cell.EntireRow.Copy
                Windows("Analyse _Etat_Budget_General.xlsm").Activate
                    Sheets("Table 1").Select
                    Rows("4:4").Select
                    With Selection
                        .Insert Shift:=xlDown
                    End With
                Else: Exit For
        End If

'Formule 1
    Range("G4").Select
    ActiveCell.FormulaR1C1 = "=(RC[-1]/RC[-2])"
        With Selection
            .Style = "Percent"
            .NumberFormat = "0.00%"
        End With
'Formule 2
    Range("I4").Select
    ActiveCell.FormulaR1C1 = "=(RC[-1]/RC[-4])"
    Range("I4").Select
        With Selection
            .Style = "Percent"
            .NumberFormat = "0.00%"
        End With
'Formule 3
    Range("J4").Select
    ActiveCell.FormulaR1C1 = "=RC[-5]-RC[-4]-RC[-2]"
'Formule 4
    Range("K4").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]/RC[-6]"
    Range("K4").Select
        With Selection
            .Style = "Percent"
            .NumberFormat = "0.00%"
        End With
'Formule 5
    Range("M4").Select
    ActiveCell.FormulaR1C1 = "=Menu!R[8]C[-5]-('Table 1'!RC[-6]+'Table 1'!RC[-4])"
'Formule 6
    Range("N4").Select
    ActiveCell.FormulaR1C1 = "=RC[-9]*RC[-1]"
    Range("N4").Select
        With Selection
            .NumberFormat = "0.00"
        End With
'Formule 7
    Range("Q4").Select
    ActiveCell.FormulaR1C1 = "=RC[-12]-RC[-2]+RC[-1]"
'Formule 8
    Range("R4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISBLANK(RC[-1]),""AUTO"",(RC[-1]-RC[-13])/RC[-13])"
    Range("R4").Select
    Selection.Style = "Percent"
        With Selection
            .NumberFormat = "0.00%"
        End With

    Next Cell

MsgBox "The update is successful !"

End Sub
Rechercher des sujets similaires à "vba boucle recherche donnees alimentation tableau"