VBA débutant problème(s)

Bonjour à tous !

Je suis débutant en VBA et j'écris un code pour que dans un fichier, Excel passe en revue chaque cellule d'un fichier, compare la valeur de la cellule à la liste d'un autre fichier, et si les valeurs sont identiques, il insère et colle la ligne du premier fichier vers le deuxième. Malheureusement, j'ai plusieurs bugs ... Quelqu'un saurait de quoi il s'agit ? Merci d'avance !

Sub Macro1()
'
' Macro1 Macro
'
'Définition des 4 variables

    Dim li As Integer

'Copie des quatres colonnes

    Sheets("Feuil1").Select
    Columns("H:H").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Range("E1").Select
    ActiveSheet.Paste
    Sheets("Feuil1").Select
    Columns("C:C").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil2").Select
    Columns("H:H").Select
    ActiveSheet.Paste
    Sheets("Feuil1").Select
    Range("J:J,L:L").Select
    Range("L1").Activate
    Selection.Copy
    Sheets("Feuil2").Select
    Range("N1").Select
    ActiveSheet.Paste
    Range("N1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "Descriptif"
    Range("N2").Select

    'Valeur de li, variable de la ligne'

    li = 1
    Do While Not (IsEmpty(ActiveSheet.Cells(li, 5)))
        Dim c As Integer
        Dim x As Integer
        Dim v As Integer
        c = Range(li, 5).Value
        x = 7
        v = Workbooks("Copie test-modif-planning-montage-forbach.xlsm").Sheets("PLANNING").Range(x, 5).Value
            If v - c = 0 Then
                Workbooks("Copie test-modif-planning-montage-forbach.xlsm").Activate
                Rows(x + 1).Insert
                Workbooks("Copie-modif-SAV liste.xlsm").Activate
                Rows(li).Copy
                Workbooks("Copie test-modif-planning-montage-forbach.xlsm").Activate
                Rows(x).Select
                ActiveSheet.Paste
            Else
            x = x + 1
    ' Passe à la ligne suivante
        li = li + 1
            End If
    Loop

End Sub

Bonjour

Remplace le debut de ta macro par ceci

Sub Macro1()
Dim li As Integer
'Copie des quatres colonnes
With Sheets("Feuil1")
    .Columns("H:H").Copy Sheets("Feuil2").Range("E1")
    .Columns("C:C").Copy Sheets("Feuil2").Columns("H:H")
    .Range("J:J,L:L").Copy Sheets("Feuil2").Range("N1")
End With
Sheets("Feuil2").Range("N1") = "Descriptif"
    'Range("N2").Select

    'Valeur de li, variable de la ligne'

    li = 1
....

Plus bas dans cette ligne, on est sur quelle feuille ?

 Workbooks("Copie test-modif-planning-montage-forbach.xlsm").Activate
 Rows(x + 1).Insert

Cordialement

Merci beaucoup pour ton début de réponse !

Pour la partie du code que tu mentionnes en dernier, on est sur la feuille "PLANNING".

Merci d'avance

re

code à essayer

...
    Do While Not (IsEmpty(Sheets("Feuil2").Cells(li, 5)))
        Dim c As Integer
        Dim x As Integer
        Dim v As Integer
        c = Range(li, 5).Value
        x = 7
        v = Workbooks("Copie test-modif-planning-montage-forbach.xlsm").Sheets("PLANNING").Range(x, 5).Value
            If v - c = 0 Then
                Workbooks("Copie test-modif-planning-montage-forbach.xlsm").Sheets("PLANNING").Rows(x + 1).Insert
                Workbooks("Copie-modif-SAV liste.xlsm").Sheets("??????").Rows(li).Copy
                Workbooks("Copie test-modif-planning-montage-forbach.xlsm").Sheets("PLANNING").Rows(x).Paste
            Else
            x = x + 1
....

Si ok, merci de clôturer le fil en cliquant sur las case à cocher verte à coté du bouton Editer

Crdlt

Rechercher des sujets similaires à "vba debutant probleme"