Erreur de compilation

Bonjour à tous,

Je tente d'ajouter un second bouton (tout s'est bien passé pour l'ajout du 1er) à une macro et je me retrouve devant une fenêtre affichant: "erreur de compilation: variable ou procédure attendue."

Voici mon module (qui fonctionne):

Sub Import_templateVAX_vers_Costing()
'
' Import_templateVAX_vers_Costing
'

'
    Windows("Template VAX.xlsm").Activate
    Range("Tableau1[[Qté de câbles]:[Longueur totale (m)]]").Copy
    Windows("Costing SPARES.xlsm").Activate
    Range("E51").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("Template VAX.xlsm").Activate
    Sheets("Template contacts").Select
    Range("C2:D12").Copy
    Windows("Costing SPARES.xlsm").Activate
    Range("A17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A3").Select
End Sub

Voici la feuille dans laquelle je tente d'ajouter le bouton:

Private Sub CommandButton21_Click()
Validate1
End Sub

Private Sub CommandButton22_Click()
Import_templateVAX_vers_Costing
End Sub

Merci d'avance pour les conseils :)

Bonne journée

Bonjour Anthony,

Tes classeurs "Template VAX.xlsm" et "Costing SPARES.xlsm" sont bien présents ? Et sans bouton ça fonctionne ? Et ta macroValidate1 existe t'elle ?

A mon avis c'est juste une niaiserie

Avec un fichier c'est mieux

Bonjour stepaustras,

Oui sans bouton ça fonctionne, ça doit être une broutille mais qui me donne bien des maux :)

La macro Validate1 fonctionne bien oui

Avec un fichier c'est mieux

Cependant, une modification à tester : assure-toi que tes deux classeurs soient ouverts.

Sub ImportTemplateVAXVersCosting()
    Dim wbSource As Workbook
    Dim wbTarget As Workbook
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet

    ' Définir le classeur source (Template VAX.xlsm) et le classeur cible (Costing SPARES.xlsm)
    On Error Resume Next
    Set wbSource = Workbooks("Template VAX.xlsm")
    Set wbTarget = Workbooks("Costing SPARES.xlsm")
    On Error GoTo 0

    ' Vérifier si les classeurs ont été ouverts avec succès
    If wbSource Is Nothing Then
        MsgBox "Le classeur source 'Template VAX.xlsm' n'a pas été trouvé.", vbExclamation
        Exit Sub
    End If

    If wbTarget Is Nothing Then
        MsgBox "Le classeur cible 'Costing SPARES.xlsm' n'a pas été trouvé.", vbExclamation
        Exit Sub
    End If

    ' Définir la feuille source (Template contacts) et la feuille cible
    On Error Resume Next
    Set wsSource = wbSource.Sheets("Template contacts")
    Set wsTarget = wbTarget.Sheets("VotreFeuilleCible") ' Remplacez "VotreFeuilleCible" par le nom de votre feuille cible
    On Error GoTo 0

    ' Vérifier si les feuilles ont été trouvées
    If wsSource Is Nothing Then
        MsgBox "La feuille source 'Template contacts' n'a pas été trouvée dans le classeur source.", vbExclamation
        Exit Sub
    End If

    If wsTarget Is Nothing Then
        MsgBox "La feuille cible 'VotreFeuilleCible' n'a pas été trouvée dans le classeur cible.", vbExclamation
        Exit Sub
    End If

    ' Copier les données depuis le classeur source vers le classeur cible
    wbSource.Activate
    wsSource.Range("C2:D12").Copy
    wbTarget.Activate
    wsTarget.Range("A17").PasteSpecial xlPasteValues

    ' Vous pouvez ajouter d'autres actions ici si nécessaire

    ' Nettoyer le Presse-papiers
    Application.CutCopyMode = False

    ' Retourner à une cellule spécifique dans le classeur cible (facultatif)
    wsTarget.Range("A3").Select
End Sub

Assure toi de remplacer "TaFeuilleCible" par le nom réel de la feuille dans le classeur cible où tu souhaites coller les données depuis le "Template VAX.xlsm". Cette version du code évite l'utilisation excessive de "Activate" et inclut des gestionnaires d'erreurs pour gérer les cas où les classeurs ou les feuilles ne sont pas trouvés.

Super merci beaucoup !

Seulement ce code fonctionne aussi mais pas en passant par un bouton :(

J'ai solutionné en mettant un bouton de contrôle de formulaire à la place :)

Merci encore à toi pour ton aide ! Je passe en résolu.

Excellente soirée

Rechercher des sujets similaires à "erreur compilation"