Lancement automatique d'une macro a l'ouverture du fichier XLS [Résolu]

Signaler
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011
-
Messages postés
4
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
16 mars 2009
-
Bonjour ami(e)s programmeurs et programmeuzes,

J'aurai voulu savoir comment on faisait pour lancer une macro sous excel des que le fichier excel s'ouvre, par ce que d'apres ce que j'ai compris des autres cafouillis que l'on peut trouver sur d'autres forums il ne suffit pas d'ecrire une macro comme d'habitude mais de la placée dans un endroit bien précis.

Quelqu'un pourrait m'aider svp?
merci d'avance

PS : j'ai voulu rechercher sur le site mais quand je clique sur le bouton une titite etoile rouge vient se placée a coté du textbox dans lequel on saisi la recherche, ca veut dire quoi cette etoile(peut etre : "T'es un nul tu fait trop de recherche j'en ai marre de bosser pour toi" XD)

13 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Re,
En descendant la liste des methodes de l'objet Application tu aurais trouvé Application.Quit

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Souhaites tu que la macro s'execute POUR TOUT LES CLASSEURS ouverts par excel, ou bien simplement pour un SEUL classeru précisement?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Un seul classeur, lorsque je clique sur le fichier, il s'ouvre, execute la macro et se ferme quand il a fini.
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour

Tu peux utiliser l'evenement WorkbookOpen de Workbook (voir dans l'explorateur VBA).

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Ok,merci, j'ai mis ca dans ThisWorkBook(souvenir d'autres post lol) et ca marche.
Pour fermer a la fin de la macro ca doit le meme genre, WorkBookClose ou qqchose de ce genre?
Je vais esssayer de voir ca
encore merci
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

re all

Alors la macro se lance bien au demarrage, et a la fin de la macro j'ai mis : ActiveWorkBook.close ce qui me ferme le classeur.

Mais en fait j'aimerais fermer l'application excel entiere, pas seulement ce classeur, et aussi lorsque il ferme le classeur il me demande si je veux enregistrer le travail, comment faire pour quil ne demande pas et qu'il n'enregistre pas?
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour

Il n'y a pas "application.close" ou un truc du genre ?

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Non il n'y a pas de methodes Close pour Application, j'ai essayer avec ActiveApplication, ca na meme pas l'air d'exister.
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Application.Windows(Réparer.xls).Close

ca ca a l'air pas mal mais il me dit "objet requis".

PS c'est dommage qu'on puisse pas editer les posts, je vien d'enmettre trois a la suite c pas bô lol
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

Oo lol je suis passer a coté, j'ai passer en revue les methodes mais j'ai du lacher vers "m" ^^

Bon et pour l'enregistrement je vais voir si je peux pas me débrouiller avec "SaveAsFile" (bizarre c'est pourtant dans les "s"^^)

Encore merci
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Re,
Excus eje n'avais pas vu

"comment faire pour quil ne
demande pas et qu'il n'enregistre pas?"

Deux choses

Call ActiveWorkBook.Close(False) Devrait fermer SANS sauvé

En règle générale, si tu ne veux pas que l'appli EXCEL te "parle" Application.DisplayAlerts = False

(ATTENTION REMETTRE à TRUE AVANT DE QUITTER)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
1
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
8 avril 2008

slt,
je cherche également à lancer ma macro à l'ouverture de mon fichier xls. J'ai essayé beaucoup de chose. J'ai vu qu'il fallait nommer la procédure Auto_Open, puis l'histoire d'ActiveWorkBook que je ne comprends pas bien pour être honnète (moi être débutant :(  )... Voila tout, je suis bloqué, ca marche pas.
J'utilise Excel 2003 et VBA 6.3
voila le code que j'ai écrit dans ThisWorbook :

Sub Auto_Open()






        Dim Semaine
        Dim SemaineMoins1






'Rechercher semaine moins 1
i = 2
Do While (Sheets("Gestion_indicateur").Cells(i, 1) <> "")
i = i + 1
Loop
i = i - 1
SemaineMoins1 = Sheets("Gestion_indicateur").Cells(i, 1)






'Inscritpion de la semaine en cours
Semaine = DatePart("ww", Date, , vbFirstFourDays)






If SemaineMoins1 < Semaine Then
    BoiteDialogue.Show
End If






End Sub

Merci d'avance pour votre aide
Messages postés
4
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
16 mars 2009

pourque la macro  se lance a l'ouverture du fichier excel ; il suffit de la nommer " sub autoi_open()
et te rend la main sur le fichier apres son execution
tu peux fermer l'appli par une autre macro  et en jonglant avec les
activeworkbook.close(false) 
activeworkbook.close(truep
enregistrer ou non le les modifications