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 :

Workbooks.Open Filename fonctionne bien sur excel 2000 ?


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Workbooks.Open Filename fonctionne bien sur excel 2000 ?
    Bonjour,

    J'ai un code en VBA qui ouvre un classeur spécifique "CboAgents" qui représente un agent quelconque. Le programme fonctionne très bien dans la version 2003 mais quand mon utilisateur l'utilise sur sa version 2000, rien ne se passe. Le classeur ne s'ouvre pas du tout.


    Voici mon bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:="S:\Taxes\Christophe" & "\Data " & CboAgents & ".xls", writerespassword:=Password

    Quelqu'un peut m'aider SVP?

    Merci

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonsoir,

    Je suppose que "CboAgents" est une variable de type String, si oui, essaye comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:="S:\Taxes\Christophe\Data\" & CboAgents & ".xls"
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par fring Voir le message
    Bonsoir,

    Je suppose que "CboAgents" est une variable de type String, si oui, essaye comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:="S:\Taxes\Christophe\Data\" & CboAgents & ".xls"
    Merci pour votre réponse mais je ne pense pas que ça va règler mon problème (en fait je ne peux l'essayer avant mardi prochain car je n'ai pas de version 2000 à la maison mais seulement au bureau).

    Oui "CboAgents" est une variable de type String qui représente le nom de l'agent en question.

    En fait, le fichier peut se nommer "Data Jocelyne Marois.xls", "Data Carl Dupuis.xls", etc...

    Ce que je ne comprends pas c'est pourquoi sous excel 2003, le programme fonctionne très bien mais lorsque je l'ouvre sous 2000. il n'arrive pas à ouvrir le fichier excel de l'agent.

    Si vous avez d'autres suggestions, SVP m'en faire part.

    Merci beaucoup

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    aah oui ok, je comprend mieux maintenant pourquoi le
    En principe cette syntaxe devrait fonctionner sans problème sous 2000, une question à 0,50€, si on essaye d'ouvrir les fichiers manuellement via Excel 2000, ça fonctionne ?
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par fring Voir le message
    aah oui ok, je comprend mieux maintenant pourquoi le
    En principe cette syntaxe devrait fonctionner sans problème sous 2000, une question à 0,50€, si on essaye d'ouvrir les fichiers manuellement via Excel 2000, ça fonctionne ?
    Oui tout les fichiers Data des agents s'ouvrent manuellement sous 2000 et 2003.

    J'ai même essayer d'exécuter le fichier principale en mode pas à pas sous 2000. Lorsque je tombe sur la ligne du code dans lequel je fais appelle au code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:="S:\Taxes\Christophe" & "\Data " & CboAgents & ".xls", writerespassword:=Password
    il ne fait que sauter à la ligne de code suivant sans y mettre aucun message d'erreur mais le fichier Data ne s'ouvre pas. Donc je suppose que ce n'est pas un problème de syntaxe car sous 2003, l'exécution de ce bout de code ouvre effectivement le fichier Data.

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bin...mystère et boule de gomme...là ça dépasse mes compétences de marabou pour arriver à exorciser ta macro

    Eventuellement une petite variante pour ouvrir un classeur, bien que je ne vois pas pourquoi celle-ci fonctionnerait et pas l'autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Workbooks.Open ("S:\Taxes\Christophe\Data " & CboAgents & ".xls")
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    il ne fait que sauter à la ligne de code suivant sans y mettre aucun message d'erreur mais le fichier Data ne s'ouvre pas. Donc je suppose que ce n'est pas un problème de syntaxe car sous 2003, l'exécution de ce bout de code ouvre effectivement le fichier Data
    Bonjour,

    es-tu absolument certains de n'avoir mis auparavant aucune instruction d'hinibition des messages d'erreurs éventuels ?

  8. #8
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonjour,

    es-tu absolument certains de n'avoir mis auparavant aucune instruction d'hinibition des messages d'erreurs éventuels ?


    Je ne suis pas certain de comprendre votre question. C'est quoi des instructions d'hinibition? Pouvez-vous me donner un exemple?

    Je ne pense pas que le problème est dans mon code. Je pense plutôt que c'est une question de paramètres dans les options de excel sous 2000 qui est différent.

    En tout cas je vais l'essayer encore mardi prochain quand je serais au bureau et je vais vous donner des nouvelles part la suite.

    Merci pour votre temps, c'est grandement apprécié.

  9. #9
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonsoir,

    as-tu ssayé de mettre un point d'arrêt sur la ligne et une fois rendu de Faire un print de ton "S:\Taxes\Christophe\Data\" & CboAgents & ".xls" dans la fenêtre éxécution ?
    Ca te permettrai de vérifier que tu as bien ce que tu penses trouver...

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  10. #10
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Bonsoir, peut-être rajouter un ChDrive "S" avant le Workbooks.Open Filename ....

  11. #11
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    as-tu ssayé de mettre un point d'arrêt sur la ligne et une fois rendu de Faire un print de ton "S:\Taxes\Christophe\Data\" & CboAgents & ".xls" dans la fenêtre éxécution ?

    Bonjour Didier,

    J'ai mis un point d'arrêt sur cette ligne et je l'ai exécuté avec le F8. Il n'y pas de message d'erreur mais rien ne se passe non plus sous 2000. C'est comme si ce bout de code n'existé sous 2000 car il ne fait que passé à la ligne suivant. Je ne sais pas comment faire le print que tu parles....j'ai jamais fait cela avant.

    Bonsoir, peut-être rajouter un ChDrive "S" avant le Workbooks.Open Filename ....
    Bonjour kiki29,

    Peux-tu me dire c'est quoi au juste le ChDrive "S"? C'est quoi sa fonction?
    Ça ne fait pas longtemps que je code sur vb et c'est encore nouveau pour moi.

    Je vais surement l'essayer une fois au bureau.

    Merci à vous tous de me répondre

  12. #12
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    en ouvrant ton aide en ligne (sur ta machine) sur le mot ChDrive (ou en frappant dans ton code ChDrive, en le sélectionnant et en appuyant sur F&), tu aurais lu ce qui suit et t'aurait permis de ne pas poser cette question :

    Change le lecteur en cours.

    Syntaxe

    ChDrive drive

    L'argument drive est une expression de chaîne désignant un lecteur existant. Si vous indiquez une chaîne de longueur nulle (""), le lecteur courant reste le même. Si l'argument drive est une chaîne à plusieurs caractères, ChDrive n'utilise que la première lettre.

  13. #13
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,
    En effet, c'est assez courant que ce soit ceux qui "savent" qui font les recherches pour les autres

    Mais, bon, si ça mène à donner les bonnes habitudes

    emoiem, essayes de chiffrer le temps que tu as perdu sur ce pb déjà...

    Tu te rendras compte avec cette expérience qu'en agissant selon les méthodes conseillées, plus austères et non productives au premier abord, tu finiras par gagner non seulement le temps passé à lire ou étudier les docs, mais aussi bien plus car certaines choses couleront de sources et tes questions, si besoin, étant très explicites auront des réponses à l'avenant

    pour conclure en bons conseils :

    - lis la charte

    - vois ce qui existe déjà, certains ont fait du sacré boulot, autant que ça serve vois ici :
    http://bidou.developpez.com/article/VBA/

    notamment page 201 pour le débogage

    - utilise la touche F1 avec le curseur sur le terme voulu à tour de bras...

    pour la fenêtre exécution, vois dans affichage, et à debug dans l'aide, en rajoutant un debug print, tu obtiens la même chose que ce que je t'avais indiqué, mais en direct:
    dans la fenêtre, tu tapes ? ou print et ta chaîne vu plus haut, ça te permet de voir au moment du point d'arrêt à quoi correspond ton truc pour le vba et, souvent de comprendre pourquoi il passe dessus sans rien faire...

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je pense que la syntaxe que tu utilises dans ton premier message est exacte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:="S:\Taxes\Christophe\Data\" & CboAgents & ".xls"
    Ceci quelque soit la version. Par contre, es-tu certain d'avoir un lecteur "S:\" à ton domicile ?
    Où as-tu placé ton fichier CboAgents, chez toi ?
    A+

  15. #15
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    - vois ce qui existe déjà, certains ont fait du sacré boulot, autant que ça serve vois ici :
    http://bidou.developpez.com/article/VBA/
    Merci beaucoup Didier pour tes conseils et pour ce lien, c'est certain que je vais m'en servir.


    Ceci quelque soit la version. Par contre, es-tu certain d'avoir un lecteur "S:\" à ton domicile ?
    Où as-tu placé ton fichier CboAgents, chez toi ?
    Bonjour ouskel'n'or,
    Oui j'ai fait très attention à ne rien oublier. Le répertoire "S" c'est un répertoire commun au bureau et tout les fichiers Data CboAgents sont bien placés sous ce répertoire.


    Je vais vous donner un suivi si je trouve l'erreur ou non une fois que j'ai la chance de l'essayer au bureau de nouveau soit mardi prochain.

    Merci à tous.

  16. #16
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci à tous et à toutes de m'avoir donné un coup de main sur mon problème.

    J'ai trouvé l'erreur (enfin je crois que c'est ça l'erreur).
    Il y avait dans mon code des appels par object qui ne fonctionné pas en excel 2000 (je ne sais toutefois pas pourquoi car il fonctionnait bien en 2003).
    J'ai simplement modifié le code par object et cela fonctionne à merveille sur 2000 aussi.

    Voici ce que j'avais comme code au début qui me donné un message d'erreur de temps en temps sur 2000:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Hide()
    Dim ObPage As Object
     
    For Each ObPage In Sheets
        If ObPage.Name <> "Main" And ObPage.Name <> "Paramètres" Then
            ObPage.Visible = False
        End If
    Next
    End Sub

    J'ai donc rajouté un bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Hide()
    Dim ObPage As Object
     
    For Each ObPage In Sheets
        If ObPage.Name <> "Main" And ObPage.Name <> "Paramètres" And ObPage.Visible = True Then
            ObPage.Visible = False
        End If
    Next
    End Sub
    et cela fonctionne maintenant quand je passe à la ligne du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:="S:\Taxes\Christophe" & "\Data " & CboAgents & ".xls", writerespassword:=Password
    Je ne sais pas c'est quoi le rapport ou ce qui aurait pu être un problème mais juste pour vous aviser que mon problème est maintenant règlé......ou temporairement camouflé si vous voulez.

    Encore une fois, je vous remercie pour votre aide.

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

Discussions similaires

  1. comment savoir si mon site fonctionne bien sur IIS?
    Par m3allem001 dans le forum IIS
    Réponses: 0
    Dernier message: 12/05/2011, 16h28
  2. [XL-2007] Fonction (Pictures.Insert) qui fonctionne mal sur Excel 2007
    Par Jean-Pierre49 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 30/11/2009, 08h31
  3. window.open() ne fonctionne pas sur IE
    Par brunoperel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/08/2009, 23h01
  4. Réponses: 1
    Dernier message: 04/07/2008, 12h44
  5. Filtrage sur Excel 2000
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2008, 09h16

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