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 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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
Rejoignez-nous