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 :

Ligne de code posant problème dans tous mes programmes [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Liban

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Ligne de code posant problème dans tous mes programmes
    Bonjour,

    Je suis débutante en VBA. Je m'en sors plutot pas mal dans le sens où souvent mes programmes fonctionnent. Cependant, souvent aussi, quand je relance mes macros, il y a une ligne qui est surlignée en jaune dans le débogage et c'est tout le temps quand je met Set wrk. Y a t-il quelque chose que j'oublie d'activer ou de déclarer?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Sub Importer_data()
    Const rep_FichierTest = "C:\Yaya\nzer1\PLANIF\Data\Test"
    Dim wrk As Workbook
    Dim fichier As String
    ...
    ...
    Set wrk = Application.Workbooks.Open(rep_FichierTest & "\" & fichier, ReadOnly:=True)
    Merci d'avance.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    bonsoir,

    aucun message n'accompagne ce surlignement en jaune ?

    tu est bien dans une fonction ou procédure ...(Sub ... function ...) ?

  3. #3
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Liban

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Erreur d'exécution 1004
    Oui, je suis bien dans un Sub. Quand je clique sur le bouton de la macro, le message suivant s'affiche : "Erreur d'exécution 1004 : La méthode 'Open' de l'objet 'Workbooks' a échoué."

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ok , et tu fourni bien un bon nom de fichier à ta méthode open ...

    affiche le par un msbox par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox rep_FichierTest & "\" & fichier

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour.

    Citation Envoyé par yaya.gaga Voir le message
    Y a t-il quelque chose que j'oublie d'activer ou de déclarer?
    Non, rien … Tout simplement le fichier n'existe pas !
    Le B-A-BA est de vérifier le contenu de la fenêtre des Variables locales

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Test()
             Const rep_FichierTest$ = "C:\Yaya\nzer1\PLANIF\Data\Test\"
        Fichier$ = rep_FichierTest & "classeur.xlsx"
        If Dir(Fichier) = "" Then Beep: Exit Sub
        Workbooks.Open Fichier, , True
    End Sub
    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  6. #6
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Liban

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Merci pour le rappel
    Désolé mais je l'avais indiqué plus haut, en fait j'ai remplacé cette ligne par "..." car je ne voulais pas taper tout mon code mais oui je l'ai fait.

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par yaya.gaga Voir le message
    ...oui je l'ai fait.
    quoi? vérifié que ton fichier existe ?

  8. #8
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Liban

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Un bout de code avant la ligne qui pose problème
    Oui, j'ai vérifié si le fichier existé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Db(1 To 1000, 1 To 10) As Variant
    
    i = premiere_ligne: n = 0: old_n = 0
    While ThisWorkbook.Sheets("Filelist").Cells(i, Filelist_Col_Fichier).Value <> ""
        If ThisWorkbook.Sheets("Filelist").Cells(i, Filelist_Col_Statut_Fichier).Value = "Nouveau fichier" Then
            fichier = ThisWorkbook.Sheets("Filelist").Cells(i, Filelist_Col_Fichier).Value
            
            'Application.ScreenUpdating = False
            Application.EnableEvents = False
            Set wrk = Application.Workbooks.Open(rep_FdP & "\" & fichier, ReadOnly:=True)        
            Application.EnableEvents = True
            Application.ScreenUpdating = True
    Voilà ce qui vient avant la ligne qui me pose problème alias le fameux set wrk. Le code continue après ca, bien entendu.

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Je ne vois pas le code avec lequel tu vérifie l'existence du fichier?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Pouvoir utiliser une fonction dans tous mes classeurs Excel
    Par SylvainM dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/03/2014, 21h10
  2. Dans tous mes états !
    Par galact dans le forum IHM
    Réponses: 5
    Dernier message: 21/09/2010, 14h51
  3. [AC-2003] Variable utilisée dans tous mes formulaires
    Par gentoo dans le forum IHM
    Réponses: 2
    Dernier message: 18/05/2009, 11h33
  4. Rechercher un mot dans tous mes documents
    Par rom5656 dans le forum VBA Word
    Réponses: 18
    Dernier message: 02/09/2008, 11h43
  5. Réponses: 2
    Dernier message: 09/05/2008, 17h38

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