IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur de syntaxe


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 61
    Par défaut Erreur de syntaxe
    Bonjour,

    J'ai une erreur de syntaxe qui s'affiche sur la ligne en rouge, quelqu'un pourrait il m'aider?

    Le but de ce programme est, à l'appui sur un bouton "Extraction Hebdomadaire" situé dans un classeur Excel nommé "Essai 1" d'aller me rechercher des données située dans un autre classeur nommé "MC_fonctionne". Ces nouvelles données doivent être placée dans l'onglet "Synthese" de "Essai 1".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub VachercherDatas()
    
    Dim wb As Workbook 
    Application.ScreenUpdating = False
    
    chemin = "\\Gpao\commun\30_QUALITE\307_Gestion_de_service\" & "MC_fonctionne.xlsm"
    Set wb = Workbooks.Open(\\Gpao\commun\30_QUALITE\307_Gestion_de_service)Workbooks("essai1.xls").Activate
    
    wb.Close SaveChanges:=False
    Application.ScreenUpdating = True
    
    End Sub
    Merci par avance pour tous ceux qui pourront m'aider!

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set wb = Workbooks.Open(\\Gpao\commun\30_QUALITE\307_Gestion_de_service\MC_fonctionne.xlsm")
    wb.Workbooks("essai1.xls").Activate

  3. #3
    Membre éclairé Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Par défaut
    Salut Rob's,

    Tu peux aussi ouvrir une fenêtre utilisateur qui permet de choisir le fichier concerné...généralement les chemins en entreprise ne restent pas les mêmes bien longtemps, voilà le code pour la fenêtre utilisateur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub toto()
     
    On Error Resume Next                                                                ' Lorsque qu'excel rencontre une erreur la macro n'est pas arretée (cette ligne sert, dans ce cas là, à éviter une erreur lors de l'ouverture du fichier selectionné)
    Application.DisplayAlerts = False                                                   ' Cette ligne de code permet de ne pas afficher tous les messages d'erreurs (cela évite l'intervention de l'utilisateur lorsque la macro tourne)
    Dim oFD As FileDialog                                                               ' Dans cette première partie on ouvre la fenetre de recherche des fichiers
        Set oFD = Application.FileDialog(msoFileDialogFilePicker)
            oFD.Title = "Titre fenetre"
            oFD.Show
            oFD.AllowMultiSelect = False
     
     
        If oFD.SelectedItems.Count = 0 Then Exit Sub                                    ' Si aucun fichier n'a été selectionné on quitte la macro
            If Not oFD Is Nothing Then
                Workbooks.Open filename:=oFD.SelectedItems(1)                           ' On ouvre le fichier selectionné
                fichier = Workbooks(ActiveWorkbook.name).name                           ' On garde en mémoire le nom du fichier ouvert
                chemin = Workbooks(ActiveWorkbook.name).Path                            ' On garde en mémoire le chemin du fichier ouvert
            End If
     
    End Sub

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut erreur de syntaxe
    bonjour,

    pour compléter la réponse de de EngueEngue: puisque tu définis une variable chemin autant l'utiliser.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim chemin as string
    chemin = "\\Gpao\commun\30_QUALITE\307_Gestion_de_service\MC_fonctionne.xlsm" 
     
    Set wb = Workbooks.Open(chemin)
    Workbooks("essai1.xls").Activate
    Pour ma gouverne : le double antislash (\\) est-il vraiment nécessaire ?

    cordialement.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 61
    Par défaut
    Bonjour à vous tous,

    Malgrès votre aide, mon programme ne fonctionne toujours pas...
    Je vous le met en pièce jointe pour que vous puissiez regarder.

    Le but est que quand vous appuyer sur le bouton il va chercher les infos dans un autre document situé sur le bureau ou un autre endroit...

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éclairé Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Par défaut
    Rebonjour Rob !

    Le bouton que tu utilises est un contrôle ActiveX, il faut que tu utilises un bouton contrôle de Formulaire

    Sinon, je viens d'essayer: le code fonctionne à merveille !
    T'as plus qu'à faire les actions que tu souhaites avant de fermer le fichier que tu demandes d'ouvrir

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Si je regarde ton poste, je dirai rien d'étonnant.
    Si je regarde les autre poste, je rien d'étonnant.

    Set wb = Workbooks.Open(\\Gpao\commun\30_QUALITE\307_Gestion_de_service\MC_fonctionne.xlsm")
    wb.Workbooks("essai1.xls").Activate
    si wb se référence à MC_fonctionne.xlsm
    pas étonnant que wb.Workbooks("essai1.xls").Activate plante!
    D’abord procédons par ordre:

    Copie colle ça dans la barre d'adresse d'un explorateur Windows.
    \\Gpao\commun\30_QUALITE\307_Gestion_de_service\MC_fonctionne.xlsm
    Si le fichier s'ouvre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set wbEss = ActiveWorkbook 'Si essai1.xls est le classeur actif
    Set wbEss = wb.Workbooks("essai1.xls")
    Set wbMc = Workbooks.Open("\\Gpao\commun\30_QUALITE\307_Gestion_de_service\MC_fonctionne.xlsm")
    wbEss.Activate
    Evites d’utiliser de instruction comme Select, active, Selection,ActiveCell…
    Mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wbEss.Sheets("Feuil1").Range("A1:C8").Copy wbMc.Sheets("Feuil1").Range("A1")

Discussions similaires

  1. [Directives] Page blanche quand erreur de syntaxe
    Par syl2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 17/02/2006, 16h15
  2. [sql] erreur de syntaxe
    Par cmoa59 dans le forum JDBC
    Réponses: 14
    Dernier message: 03/05/2005, 12h41
  3. erreur de syntaxe en C++
    Par sergepmessa dans le forum C++
    Réponses: 6
    Dernier message: 11/03/2005, 19h15
  4. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 15h09
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo