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 :

Ouvrir en lançant auto open du fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut Ouvrir en lançant auto open du fichier
    Bjr,

    J'essaie sans succès d'ouvrir dans une macro un fichier qui contient un auto_open par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open chemRecap, True
    que faut-il ajouter pour qu'il s'ouvre en lançant son auto_open.
    cdt

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut bernard38 et le forum
    Pas très clair
    Je suppose que tu utilise AutoOpen pour lacer une macro dès l'ouverture d'un classeur ?
    Tu passes en VBA (<Alt>+<F11>)
    tu ouvres le module ThisWorkBook
    Dans la case de gauche en haut du module, tu choisis Workbook
    => ça te crée la macro Workbook_Open() qui se lance dès l'ouverture de ce classeur (la case de droite te permet de choisir toutes les macros à lancement automatique de chap workbook.

    Si ce n'est pas cela, explique le but à atteindre.
    A+

  3. #3
    Expert confirmé
    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
    Par défaut
    Bonjour,

    C'est normal une des caractéristiques de l'Auto_Open est justement qu'il ne se déclenche pas si le classeur est ouvert par vba....
    Sauf cas particulier, ce n'est plus à employer car pourrait devenir incompatible avec des versions Office future, ce qui n'est pas encore les cas...

    Tu peux obtenir le même résultat (blocage du Workbook Open), si besoin, en ouvrant ton classeur via du code en utilisant la propriété EnableEvents de l'objet Application

    cordialement,

    Didier

  4. #4
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Bjr,
    Merci j'ai bien noté vos réponses.Mon problème c'est qu'à partir de ma macro j'ouvre un autre fichier qui contient lui aussi des macros et je voudrais lancer une de ces macros par mon code.J'ai éssayé application.run et call.mais sans reussite.
    La macro que je veux lancer se nomme actu_sem dans le fichier recap_ts:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub actu_sem()
    ActiveSheet.Unprotect Password:="laurent"
    Sheets("Effectifs").Activate
    efface
    ActiveSheet.Unprotect Password:="lxx"
     
    rep = InputBox("Saisir date du lundi")
    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cheminRecap = "\\AD\liste\projets\ccoraa_118712\Appairage\RAA-712\Recap_ts.xls"
    Workbooks.Open cheminRecap, True, , , , "ts"
    Sheets("Effectifs").Activate
    Application.Run ("recap_ts!actu_sem")
    Sheets(nomF).Activate
    et je voudrais passer la valeur de rep en même temps sans perturber le fonctionnement normal de cette macro quand on ouvre directement le fichier.

    Peut-être un peu brouillon?

  5. #5
    Expert confirmé
    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
    Par défaut
    citation : un peu brouillon...

    si ton problème est que ton Auto_Open ne se déclenche pas à l'ouverture par code, il suffit de mettre (comme l'évoque Gorfael) dans l'évènement Open du ThisWorbook que tu ouvres, un appel à la macro que tu veux et qui doit-être "visible" bien sûr...


    Prenons un classeur Pass- Brouillon-4.xls qui a ce code dans son ThisWorkbook

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    Workbooks.Open ("E:\Pass- Brouillon-2.xls")
    End Sub

    et un autre classeur Pass- Brouillon-2.xls qui a ce code dans son Thiworkbook :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    Call toto
    End Sub
    et ce code dans un module classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub auto_open()
    Call untruc
    End Sub
     
    Sub toto()
    MsgBox "coucou"
    End Sub
     
    Sub untruc()
    MsgBox "Me it's AutoOpen :)"
    End Sub
    Si tu ouvres le 2 tout seul, tu auras les 2 messages des msgbox vu que cette manière mettra en œuvre le Workbook_Open ET l' Auto_Open.
    Si tu lance le 4, qui va ouvrir le 2, via son code, tu n'auras que le message Coucou car seule la macro du Worbook_Open (qui appelle toto) sera validée



    cordialement,

    Didier

  6. #6
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.RunAutoMacros xlAutoOpen
    devrait te convenir.
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open(Filename:= "Le chemin complet").RunAutoMacros _
            Which:=xlAutoOpen
    Cordialement

  7. #7
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Bjr,
    Merci à tous
    J'ai réussi en changeant le nom de la macro auto_open et en créant l'appel dans le thisworkbooks pour éviter le doublon au lancement direct du fichier.
    Mais j'ai tjs des difficultés avec la façon de répondre à la question posée par la macro appelée.
    Cdt

  8. #8
    Membre actif
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Par défaut macro vba automatique
    bonjour cet la première fois que j ai besoin de cette macro que je ne connais pas

    j ai créer une macro email mais avec un bouton (simple sans condition) = la, l email envoi si on appuye sur le bouton

    j aimerai qu une macro ouvre le fichier excel seul, vérifie une colonne "A" trouve le mot alerte dans la colonne "A" et dans le corps du texte email on indique "C".value le nom et "D".value la date et le ferme excel tout seul

    mais heure fixe le matin 9H autant de fois que le mot est la tout les jours sauf WE car l ordi est pas allumé (mais peu resté allumé)

    sans ouvrir le dossier le classeur ni excel car se rappelle des dates sur 1 an on a des oublies

    car en fait liste de contrat de maintenance

Discussions similaires

  1. ouverture auto d'un fichier excel par macro
    Par pascal913 dans le forum Access
    Réponses: 2
    Dernier message: 26/07/2006, 12h45
  2. Ouvrir et recuperer plusieurs chemins de fichier
    Par shub dans le forum Access
    Réponses: 3
    Dernier message: 09/02/2006, 14h08
  3. Ouvrir un popup window.open en passant des paramètres
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2006, 13h02
  4. Ouvrir un répertoire et non un fichier...
    Par kilinette dans le forum Langage
    Réponses: 9
    Dernier message: 26/07/2004, 12h01
  5. Auto suppression de fichier
    Par pato dans le forum Langage
    Réponses: 4
    Dernier message: 05/03/2004, 09h09

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