Erreur de compilation Attendu : fin d'instruction

Bonjour à tous,

Je souhaite ouvrir un fichier CSV

Ce code fonctionne :

Workbooks.OpenText Filename:=ListeFichier, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, Local:=True, Semicolon:=True

Mais des que je veux rajouter cette instruction à une variable un message d'erreur indiqué au titre apparait...J'ai cherché pendant longtemps et je ne trouve pas

Set monclasseur = Workbooks.OpenText Filename:=ListeFichier, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, Local:=True, Semicolon:=True

En vous remerciant par avance

Voici le code complet :

Sub RecupereDataFichier()

    'Déclaration des Variables
    Dim ListeFichier As Variant
    Dim monclasseur As Workbook

    'On desactive le presse papier et le raffraichissement de l'ecran
    Application.CutCopyMode = False
    Application.ScreenUpdating = False

    'On efface les anciennes données
    Sheets("Engin actuel (2)").Range("A1").CurrentRegion.Clear
    'On récupere le fichier des données à copier
    ListeFichier = Application.GetOpenFilename(Title:="Sélectionnez le fichier à ouvrir")
    'Prévoir le cas du bouton annuler

    If ListeFichier <> False Then
        'On affecte le fichier selectionné
        Set monclasseur = Workbooks.OpenText Filename:=ListeFichier, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, Local:=True, Semicolon:=True

        'On copie les donnees dans la feuille active
        monclasseur.Sheets(1).Range("A1").CurrentRegion.Copy
        'Activation de la page Valeurs Géo et Hauteur
        ThisWorkbook.Sheets("Engin actuel (2)").Activate
        'On colle les données dans la feuille active
        ThisWorkbook.ActiveSheet.Range("A1").PasteSpecial
        'On desactive les messages d'alerte de microsoft
        Application.DisplayAlerts = False
        'On ferme le classeur source
        monclasseur.Close
        'Reactivation de la page Fusion
        ThisWorkbook.Sheets("Valeurs").Activate

    End If

    'On réactive le presse papier et le rafraichissement de l'image
    Application.CutCopyMode = True
    Application.ScreenUpdating = True

End Sub

Bonjour,

Si vous assignez une variable, les paramètres doivent être enclos par des parenthèses. Si ça ne marche pas, c'est que l'assignation d'une variable n'est pas possible.

Set monclasseur = Workbooks.OpenText (Filename:=ListeFichier, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, Local:=True, Semicolon:=True)

Merci beaucoup pour votre réponse ! Je n'ai plus d'erreur à ce niveau la.

Mais un nouveau message d'erreur est apparu :

Erreur de compilation : Fonction ou variable attendue

Je suis étonné mon code marchait avant la modification de cette ligne Pouvez vous m'aiguiller svp ?

Erreur de compilation : Fonction ou variable attendue
L' assignation de variable n'est pas possible pour la méthode "OpenText" alors qu'elle l'est pour la méthode "Open". Il faut donc procéder en 2 temps

Workbooks.OpenText Filename:=ListeFichier, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, Local:=True, Semicolon:=True
Set monclasseur = ActiveWorkbook

Merci à vous cela fonctionne

Rechercher des sujets similaires à "erreur compilation attendu fin instruction"