XL 2016 VBA erreur texte de commande copier/coller

Sabrhm

XLDnaute Junior
Bonjour,

J'ai un petit problème avec ma macro, je n'arrive pas à comprendre pourquoi. Il y a une erreur à cette ligne : Worksheets("Articles_à_contrôler").Range(Cells(Lig, 1), Cells(Ligne, 12)).Copy

Je souhaite avec cette commande copier la ligne de la colonne 1 à 12.

Pouvez-vous m'aider? Merci

Sub mettre_à_jour()

Dim Lig&, DerL&
DerL = Worksheets("Historique_contrôle").Range("A" & Rows.Count).End(3).Row
For Lig = 2 To 100
If Worksheets("Articles_à_contrôler").Cells(Lig, 3) = "OK" Then
Worksheets("Articles_à_contrôler").Range(Cells(Lig, 1), Cells(Ligne, 12)).Copy
Worksheets("Historique_contrôle").Range("A" & DerL + 1).PasteSpecial (xlPasteValues)
DerL = DerL + 1
End If
Next
 

vgendron

XLDnaute Barbatruc
Euh...
c'est sympa.. ce serait encore mieux de poster le fichier AVEC les macros... et ne pas mettre un fichier exemple qui plante dès la première ligne de code....

1) Vérifier les noms des onglets:
Dans code: Historique contrôle
Dans fichier: "Historisque_contrôle"

2) sinon, pour le bug qui te genait... lig -- Ligne....

VB:
Sub mettre_à_jour()

Dim Lig&, DerL&
DerL = Worksheets("Historique contrôle").Range("A" & Rows.Count).End(3).Row
For Lig = 2 To 100
    If Worksheets("Articles_à_contrôler").Cells(Lig, 3) = "OK" Then
        Worksheets("Articles_à_contrôler").Range(Cells(Lig, 1), Cells(Lig, 12)).Copy
        Worksheets("Historique contrôle").Range("A" & DerL + 1).PasteSpecial (xlPasteValues)
        DerL = DerL + 1
    End If
Next
End Sub
 

Sabrhm

XLDnaute Junior
Euh...
c'est sympa.. ce serait encore mieux de poster le fichier AVEC les macros... et ne pas mettre un fichier exemple qui plante dès la première ligne de code....

1) Vérifier les noms des onglets:
Dans code: Historique contrôle
Dans fichier: "Historisque_contrôle"

2) sinon, pour le bug qui te genait... lig -- Ligne....

VB:
Sub mettre_à_jour()

Dim Lig&, DerL&
DerL = Worksheets("Historique contrôle").Range("A" & Rows.Count).End(3).Row
For Lig = 2 To 100
    If Worksheets("Articles_à_contrôler").Cells(Lig, 3) = "OK" Then
        Worksheets("Articles_à_contrôler").Range(Cells(Lig, 1), Cells(Lig, 12)).Copy
        Worksheets("Historique contrôle").Range("A" & DerL + 1).PasteSpecial (xlPasteValues)
        DerL = DerL + 1
    End If
Next
End Sub
Mon fichier source contient des données confidentielles d'où l'exemple. J'ai rajouté la macro dans le fichier en PJ. J'ai oublié de rajouter le "_" dans l'exemple.
Merci
 

Pièces jointes

  • exemple.xlsm
    3.3 MB · Affichages: 39

Discussions similaires