OVH Cloud OVH Cloud

Macro automatique

15 réponses
Avatar
kiki
Comment faire pour lancer une macro automatiquement a
l'ouverture d'Excel

5 réponses

1 2
Avatar
Philippe.R
Bonsoir JC,
A vue de nez, j'utiliserai bien l'évènement beforeprint du perso avec un with activeworkbook.
Non testé....
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"Fti/" <fti/@wanadoo.fr> a écrit dans le message de
news:bgc02f$fkv$

"JC" wrote in message
news:#
Hello,
Il faut la nomer AutoOpen
A+

Bsoir, j'en ai besoin également notamment pour forcer les données d'un pied

de page quelque soit le classeur ouvert.

Avec Excel 2000, cela ne fonctionne pas

ni en la nommant "AutoOpen", ni en la nommant "Private Sub Workbook_Open()"
dans le fichier PERSO.XLS du sous-dossier XLSTART

si quelqu'un à la solution... ce serait super.

bonne soirée.





Avatar
Fti/hrwxgy
"Philippe.R" wrote in message
news:
Bonsoir JC,
A vue de nez, j'utiliserai bien l'évènement beforeprint du perso avec un
with activeworkbook.

Non testé....
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002



Merci bien,
mais je le trouve où l'évènement beforeprint ?

Avatar
Philippe.R
Bonjour,
Dans l'éditeur VB, appelé par Alt+F11, ayant ouvert le Module This Workbook du perso, en haut de la
grande fenêtre, la où est affiché "Général", tu choisis Workbook ; la procédure Open a été
automatiquement sélectionnée et c'est ce qui est affiché en haut à droite de Workbook.
Dans cette fenêtre, qui liste les évènements par ordre alphabétique, choisir BeforePrint
et cela pourrait donner :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveWorkbook
With ActiveSheet.PageSetup
.CenterHeader = "Je mets en page comme je veux"
End With
ActiveWindow.SelectedSheets.PrintPreview
End With
End Sub

toujours pas testé
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"Fti/" <fti/@wanadoo.fr> a écrit dans le message de
news:bgc5gp$4ed$

"Philippe.R" wrote in message
news:
Bonsoir JC,
A vue de nez, j'utiliserai bien l'évènement beforeprint du perso avec un
with activeworkbook.

Non testé....
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002



Merci bien,
mais je le trouve où l'évènement beforeprint ?





Avatar
Esteban
Bonjour Misange :P

Vi malheureusement j'ai pas beaucoup de temps pour mettre mon petit grain de
sel dans ces forums, mais c'est toujours un plaisir de vous lire.
Joyeusement,
Esteban
"Misange" ù.net> a écrit dans le message de
news:
tiens un revenant !
Bonjour esteban :-)

--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !=========== >



"Esteban" a écrit dans le message de news:

Bonjour,

En fait, la question de départ est à l'ouverture d'Excel et pas d'un
classeur en particulier.
Donc il faut mettre du code dans l'évènement Open du classeur de macro
personnel ("perso.xls").

Cordialement,
Esteban

"JC" a écrit dans le message de
news:%
Hello,
Il faut la nomer AutoOpen
A+



"kiki" a écrit dans le message news:
594401c3575b$62b315d0$
Comment faire pour lancer une macro automatiquement a
l'ouverture d'Excel
















Avatar
Esteban
Bonjour A tous,

Pour ecrire du code qui s'execute pour chaque classeur que tu va ouvrir dans
Excel il faut utiliser un module de class.

Voila comment faire :
1- Allez dans Visual basic editor (ALT+F11)
2- Selection le projet : Perso.xls
3- Insérer un module de Class (Menu Insertion/Module de class)
Par defaut se module porte le nom Class1

4- Dans ce nouveau module de class copier le code suivant :
'*********************************************
Option Explicit

Dim WithEvents XLApp As Application

Private Sub Class_Initialize()
Set XLApp = Application
End Sub

Private Sub Class_Terminate()
Set XLApp = Nothing
End Sub

Private Sub XLApp_NewWorkbook(ByVal Wb As Workbook)

End Sub

Private Sub XLApp_WorkbookBeforePrint(ByVal Wb As Workbook, Cancel As
Boolean)
'Mettre ici le code a executer avant l'impression
Msgbox "Controle de l'impression du classeur " & wb.name
End Sub

Private Sub XLApp_WorkbookOpen(ByVal Wb As Workbook)
'Mettre ici le code a executer a l'ouverture d'un classeur
Msgbox "Controle de l'ouverture du classeur " & wb.name
End Sub
'*********************************************

5- Mettre le code suivant dans le module This Workbook
'*********************************************
Option Explicit

Dim CL As Class1

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set CL = Nothing
End Sub

Private Sub Workbook_Open()
Set CL = New Class1
End Sub
'*********************************************

6- Enregistrer, Fermer, et rouvrir Excel


Voila,
N'hésitez pas à me faire par de vos commentaires.

Cordialement,
Esteban

"Philippe.R" a écrit dans le message de
news:e$FVCf%
Bonjour,
Dans l'éditeur VB, appelé par Alt+F11, ayant ouvert le Module This
Workbook du perso, en haut de la

grande fenêtre, la où est affiché "Général", tu choisis Workbook ; la
procédure Open a été

automatiquement sélectionnée et c'est ce qui est affiché en haut à droite
de Workbook.

Dans cette fenêtre, qui liste les évènements par ordre alphabétique,
choisir BeforePrint

et cela pourrait donner :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveWorkbook
With ActiveSheet.PageSetup
.CenterHeader = "Je mets en page comme je veux"
End With
ActiveWindow.SelectedSheets.PrintPreview
End With
End Sub

toujours pas testé
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"Fti/" <fti/@wanadoo.fr> a écrit dans le message de
news:bgc5gp$4ed$

"Philippe.R" wrote in message
news:
Bonsoir JC,
A vue de nez, j'utiliserai bien l'évènement beforeprint du perso avec
un



with activeworkbook.
Non testé....
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002



Merci bien,
mais je le trouve où l'évènement beforeprint ?









1 2