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

Excel Discussion :

[VBA Excel 2003] condition si avec ouverture de fichier


Sujet :

Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 57
    Points : 42
    Points
    42
    Par défaut [VBA Excel 2003] condition si avec ouverture de fichier
    Bonjour,

    J'ai développé une application Access en lien avec un fichier Excel.

    le fonctionnement est le suivant :

    1) j'ouvre la base access et je lance le programme

    2) Le prog en question ouvre un fichier excel et exporte des données

    3) je les retraite via un autre programme dans Excel

    dans Excel j'ai une macro sur événement workbook open.

    Donc si j'ouvre le fichier excel sans avoir lancer le prog Access il me relance le programme complet.

    Ce que je voudrais faire c'est mettre une condition au début du programme du type "si fichier access ouvert alors continuer le programme sinon sortez"

    j'ai pensé à un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Set Monaccess = CreateObject("access.application")
    if Monaccess.Workbooks.Opendatabase filename:="Chemin" = true then
    .................
    End If
    je sais c'est n'importe quoi je ne sais même pas si access.application existe.

    On peut peut être utiliser la fonction opendatabase mais je ne sais pas comment indiquer la condition true ou false!

    Merci d'avance pour vos réponses.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonjour,

    Le plus simple pour eviter le lancement de WorkBook_Open c'est de ne pas écrire de procédure WorkBook_Open...

    Tu deplace donc ton code dans une procédure classique dans un module standard et tu l'appelle depuis Access avec une instruction type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MonExcel.Application.Run "NomFichierExcel!NomMacroLanceParAccess", _
     Argument1, Argument2
    MonExcel étant le nom de la variable créé dans Access via GetObject ou CreateObject.

    En procédant ainsi tu peux si necéssaire passer des paramètres (optionnels ou non) à ta macro afin d'effectuer un traitement différent selon qu'elle soit lancé par Access ou directement par l'utilisateur depuis Excel.

    Enfin si tu veux eviter que cette macro soit visible par Alt+F8, tu peux la déclarer Private ou ajouter Option Private Module en tete du module qui la contient.

    Cordialement,

    Tirex28/

  3. #3
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 57
    Points : 42
    Points
    42
    Par défaut
    Merci pour ta réponse c'est parfait je n'y avais pas pensé!

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

Discussions similaires

  1. VBA Excel 2003 Copier ligne sous plusieurs conditions
    Par Harreauv dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/01/2013, 18h40
  2. [XL-2003] Probleme de Frame avec VBA Excel 2003
    Par bisene dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/12/2010, 16h50
  3. Suprimer lignes vides avec VBA Excel 2003
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/11/2008, 21h27
  4. [VBA Excel] problème de range avec find
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2005, 13h56
  5. [VBA Excel] ecrire le caractere " avec une macro
    Par oktopuces dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/09/2005, 22h56

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