Lancement automatique d'une macro a l'ouverture du fichier XLS

Résolu
cs_faucheuse
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011
- 2 avril 2008 à 14:21
Bonmoment49
Messages postés
4
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
16 mars 2009
- 16 mars 2009 à 10:07
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

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

@+: Ju£i?n
Pensez: Réponse acceptée
3
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
2 avril 2008 à 14:34
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
0
cs_faucheuse
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

2 avril 2008 à 14:43
Un seul classeur, lorsque je clique sur le fichier, il s'ouvre, execute la macro et se ferme quand il a fini.
0
NHenry
Messages postés
14930
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
161
2 avril 2008 à 14:52
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_faucheuse
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

2 avril 2008 à 14:57
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
0
cs_faucheuse
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

2 avril 2008 à 15:03
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?
0
NHenry
Messages postés
14930
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 mai 2022
161
2 avril 2008 à 15:12
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
0
cs_faucheuse
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

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

2 avril 2008 à 15:19
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
0
cs_faucheuse
Messages postés
308
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011

2 avril 2008 à 15:34
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
0
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
2 avril 2008 à 15:38
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
0
croq51
Messages postés
1
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
8 avril 2008

8 avril 2008 à 15:25
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
0
Bonmoment49
Messages postés
4
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
16 mars 2009

16 mars 2009 à 10:07
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
0