OVH Cloud OVH Cloud

Exécution d'une macro ? Tjrs pas...

11 réponses
Avatar
Fred
Bonjour,

J'ai modifié ma macro pour avoir dans le "workbook open" ceci :

Private Sub Workbook_Open()
analyse01
End Sub

et dans analyse01 la macro à exécuter...

Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...

Je séche...

?

Fred

10 réponses

1 2
Avatar
JG
Salut

Il faut que tu te places bien dans ThisWorkbook. Ensuite, la syntaxe à
utiliser :
Sub WorkBook_Open()
Run "analyse01"
End Sub
Avec private ou non, à priori, mais je n'utilise jamais private pour ma part
: supprime le private de analyse01, aussi.

A+

Jérémy


Bonjour,

J'ai modifié ma macro pour avoir dans le "workbook open" ceci :

Private Sub Workbook_Open()
analyse01
End Sub

et dans analyse01 la macro à exécuter...

Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...

Je séche...

?

Fred





Avatar
Gilles MOUGNOZ
Bonjour,
J'ai modifié ma macro pour avoir dans le "workbook open" ceci :
Private Sub Workbook_Open()
analyse01
End Sub
et dans analyse01 la macro à exécuter...
Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...
Je séche...
?
Fred


Bonjour, Fred

Reprenons les choses dans l'ordre:
1) Ouvrir le classeur
2) Presser les touches Alt+F11 pour ouvrir l'éditeur VBA
3) Dans la zone de gauche faire un double clic sur "ThisWorkBook"
4) Ecrire la macro "Workbook_Open" dans la fenêtre qui apparaît à droite
5) Fermer l'éditeur VBA avec Alt+F4
6) Enregistrer le classeur et fermer Excel (pour plus de sûreté)
7) Rouvrir le classeur et vérifier que la macro se lance bien

Au besoin, ajoute une MsgBox en début de macro.
Il se peut aussi que ta macro plante pour une raison ou une autre...

Bonne continuation

PS: la prochaine fois, reste dans la même discussion, c'est plus facile à
suivre ;-)

Avatar
Fred
Marche pô non plus, par contre là dans exécuter macro, je me retrouve avec
"analyse01" et "workbook_open" ???

--
"JG" a écrit dans le message de news:

Salut

Il faut que tu te places bien dans ThisWorkbook. Ensuite, la syntaxe à
utiliser :
Sub WorkBook_Open()
Run "analyse01"
End Sub
Avec private ou non, à priori, mais je n'utilise jamais private pour ma
part
: supprime le private de analyse01, aussi.

A+

Jérémy


Bonjour,

J'ai modifié ma macro pour avoir dans le "workbook open" ceci :

Private Sub Workbook_Open()
analyse01
End Sub

et dans analyse01 la macro à exécuter...

Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...

Je séche...

?

Fred







Avatar
Fred
Je suis perdu à partir du point 3...
En haut, j'ai deux onglets ; à gauche "(général)", et il n'y a que lui, donc
je ne peux sélectionner/créer autre chose.
A droite sur la mème ligne, j'ai "(déclarations)" qui me positionne au début
de "private sub...", "analyse01" qui me positionne juste après le "Sub
analyse01()" de la macro principale, et "workbook_open" qui me positionne
juste avant le call analyse01...
Pour info j'utilise VB 6.3.

Si ca peut aider, je viens de sacrifier deux poulets et un mouton sur
l'autel de saint minidoux...

------------------------------
"Gilles MOUGNOZ" a écrit dans le message de news:
%
Bonjour,
J'ai modifié ma macro pour avoir dans le "workbook open" ceci :
Private Sub Workbook_Open()
analyse01
End Sub
et dans analyse01 la macro à exécuter...
Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...
Je séche...
?
Fred


Bonjour, Fred

Reprenons les choses dans l'ordre:
1) Ouvrir le classeur
2) Presser les touches Alt+F11 pour ouvrir l'éditeur VBA
3) Dans la zone de gauche faire un double clic sur "ThisWorkBook"
4) Ecrire la macro "Workbook_Open" dans la fenêtre qui apparaît à droite
5) Fermer l'éditeur VBA avec Alt+F4
6) Enregistrer le classeur et fermer Excel (pour plus de sûreté)
7) Rouvrir le classeur et vérifier que la macro se lance bien

Au besoin, ajoute une MsgBox en début de macro.
Il se peut aussi que ta macro plante pour une raison ou une autre...

Bonne continuation

PS: la prochaine fois, reste dans la même discussion, c'est plus facile à
suivre ;-)




Avatar
papou
Bonjour
Regarde le détail des opérations donné par Gilles.
En gros tu n'as pas placé le code dans l'objet ThisWorkbook mais dans un
module standard.

Cordialement
Pascal

"Fred" a écrit dans le message de
news: e6p872$el3$
Marche pô non plus, par contre là dans exécuter macro, je me retrouve avec
"analyse01" et "workbook_open" ???

--
"JG" a écrit dans le message de news:

Salut

Il faut que tu te places bien dans ThisWorkbook. Ensuite, la syntaxe à
utiliser :
Sub WorkBook_Open()
Run "analyse01"
End Sub
Avec private ou non, à priori, mais je n'utilise jamais private pour ma
part
: supprime le private de analyse01, aussi.

A+

Jérémy


Bonjour,

J'ai modifié ma macro pour avoir dans le "workbook open" ceci :

Private Sub Workbook_Open()
analyse01
End Sub

et dans analyse01 la macro à exécuter...

Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...

Je séche...

?

Fred











Avatar
Fred
Ah !
Une piste ?
Et comment fait-on ca ?
Pour créer cette macro, je suis passé par "enregistrer" et je me suis tapé
la mise en forme en manuel...

--
"papou" <cestpasbon@çanonplus> a écrit dans le message de news:
%
Bonjour
Regarde le détail des opérations donné par Gilles.
En gros tu n'as pas placé le code dans l'objet ThisWorkbook mais dans un
module standard.

Cordialement
Pascal

"Fred" a écrit dans le message de
news: e6p872$el3$
Marche pô non plus, par contre là dans exécuter macro, je me retrouve
avec "analyse01" et "workbook_open" ???

--
"JG" a écrit dans le message de news:

Salut

Il faut que tu te places bien dans ThisWorkbook. Ensuite, la syntaxe à
utiliser :
Sub WorkBook_Open()
Run "analyse01"
End Sub
Avec private ou non, à priori, mais je n'utilise jamais private pour ma
part
: supprime le private de analyse01, aussi.

A+

Jérémy


Bonjour,

J'ai modifié ma macro pour avoir dans le "workbook open" ceci :

Private Sub Workbook_Open()
analyse01
End Sub

et dans analyse01 la macro à exécuter...

Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...

Je séche...

?

Fred















Avatar
papou
Re
Pour aller plus vite, depuis Excel :
Clic droit sur l'icône d'Excel (située immédiatement à gauche du menu
Fichier)
cliquer sur Visualiser le code
En haut de la page blanche de droite, deux listes déroulantes :
Dans la première à gauche sélectionner Workbook
Dès lors, l'évènement Open est sélectionné par défaut pour la liste de
droite
Tu positionnes ton appel à ta macro analyse01

Cordialement
Pascal

"Fred" a écrit dans le message de
news: e6p8l0$enm$
Je suis perdu à partir du point 3...
En haut, j'ai deux onglets ; à gauche "(général)", et il n'y a que lui,
donc je ne peux sélectionner/créer autre chose.
A droite sur la mème ligne, j'ai "(déclarations)" qui me positionne au
début de "private sub...", "analyse01" qui me positionne juste après le
"Sub analyse01()" de la macro principale, et "workbook_open" qui me
positionne juste avant le call analyse01...
Pour info j'utilise VB 6.3.

Si ca peut aider, je viens de sacrifier deux poulets et un mouton sur
l'autel de saint minidoux...

------------------------------
"Gilles MOUGNOZ" a écrit dans le message de news:
%
Bonjour,
J'ai modifié ma macro pour avoir dans le "workbook open" ceci :
Private Sub Workbook_Open()
analyse01
End Sub
et dans analyse01 la macro à exécuter...
Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...
Je séche...
?
Fred


Bonjour, Fred

Reprenons les choses dans l'ordre:
1) Ouvrir le classeur
2) Presser les touches Alt+F11 pour ouvrir l'éditeur VBA
3) Dans la zone de gauche faire un double clic sur "ThisWorkBook"
4) Ecrire la macro "Workbook_Open" dans la fenêtre qui apparaît à droite
5) Fermer l'éditeur VBA avec Alt+F4
6) Enregistrer le classeur et fermer Excel (pour plus de sûreté)
7) Rouvrir le classeur et vérifier que la macro se lance bien

Au besoin, ajoute une MsgBox en début de macro.
Il se peut aussi que ta macro plante pour une raison ou une autre...

Bonne continuation

PS: la prochaine fois, reste dans la même discussion, c'est plus facile à
suivre ;-)








Avatar
JG
Après avoir ouvert ton fichier, appuyes directement sur ALT-F11. Tu devrais
voir apparaitre à gauche de l'écran l'explorateur de projet. L'arborescence
devrait être :
|- VBAProjet (ton projet)
|||- Microsoft Excel Objets
|||||- Feuil1
|||||- Feuil2
|||||- Feuil3
|||||- ThisWorkbook
|||+ Modules

Si tu ne vois pas l'explorateur de projet, appuye sur CTRL R (ou
Affichage>explorateur de projet).

Dans cet exemple, j'ai réduit l'onglet Modules en cliquant sur le - (qui se
tranforme en +, donc). Tu dois mettre dans un module ta macro analyse01. Par
contre, tu vois aparaitre en bas de la liste de tes feuilles et de tes
graphiques éventuels ThisWorkbook => c'est là que tu dois mettre Sub
Workbook_Open() .

Voilou.

Jérémy


Ah !
Une piste ?
Et comment fait-on ca ?
Pour créer cette macro, je suis passé par "enregistrer" et je me suis tapé
la mise en forme en manuel...

--
"papou" <cestpasbon@çanonplus> a écrit dans le message de news:
%
Bonjour
Regarde le détail des opérations donné par Gilles.
En gros tu n'as pas placé le code dans l'objet ThisWorkbook mais dans un
module standard.

Cordialement
Pascal

"Fred" a écrit dans le message de
news: e6p872$el3$
Marche pô non plus, par contre là dans exécuter macro, je me retrouve
avec "analyse01" et "workbook_open" ???

--
"JG" a écrit dans le message de news:

Salut

Il faut que tu te places bien dans ThisWorkbook. Ensuite, la syntaxe à
utiliser :
Sub WorkBook_Open()
Run "analyse01"
End Sub
Avec private ou non, à priori, mais je n'utilise jamais private pour ma
part
: supprime le private de analyse01, aussi.

A+

Jérémy


Bonjour,

J'ai modifié ma macro pour avoir dans le "workbook open" ceci :

Private Sub Workbook_Open()
analyse01
End Sub

et dans analyse01 la macro à exécuter...

Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...

Je séche...

?

Fred




















Avatar
Gilles MOUGNOZ
Je suis perdu à partir du point 3...
En haut, j'ai deux onglets ; à gauche "(général)", et il n'y a que lui,
donc je ne peux sélectionner/créer autre chose.
A droite sur la mème ligne, j'ai "(déclarations)" qui me positionne au
début de "private sub...", "analyse01" qui me positionne juste après le
"Sub analyse01()" de la macro principale, et "workbook_open" qui me
positionne juste avant le call analyse01...
Pour info j'utilise VB 6.3.
Si ca peut aider, je viens de sacrifier deux poulets et un mouton sur
l'autel de saint minidoux...
------------------------------

Rebonjour, Fred Reprenons les choses dans l'ordre:
(je complète)
1) Ouvrir le classeur
2) Presser les touches Alt+F11 pour ouvrir l'éditeur VBA
2 BIS) Presser les touches Ctrl+R pour ouvrir l'explorateur de projet
3) Dans la zone de gauche faire un double clic sur "ThisWorkBook"




4) Ecrire la macro "Workbook_Open" dans la fenêtre qui apparaît à droite
5) Fermer l'éditeur VBA avec Alt+F4
6) Enregistrer le classeur et fermer Excel (pour plus de sûreté)
7) Rouvrir le classeur et vérifier que la macro se lance bien



Bonne continuation






Avatar
Fred
Hello tous,

Ben le papou papa à poux pas papa à gagné le pompom ;-)
Merci à tous

Fred
--
"papou" <cestpasbon@çanonplus> a écrit dans le message de news:
%
Re
Pour aller plus vite, depuis Excel :
Clic droit sur l'icône d'Excel (située immédiatement à gauche du menu
Fichier)
cliquer sur Visualiser le code
En haut de la page blanche de droite, deux listes déroulantes :
Dans la première à gauche sélectionner Workbook
Dès lors, l'évènement Open est sélectionné par défaut pour la liste de
droite
Tu positionnes ton appel à ta macro analyse01

Cordialement
Pascal

"Fred" a écrit dans le message de
news: e6p8l0$enm$
Je suis perdu à partir du point 3...
En haut, j'ai deux onglets ; à gauche "(général)", et il n'y a que lui,
donc je ne peux sélectionner/créer autre chose.
A droite sur la mème ligne, j'ai "(déclarations)" qui me positionne au
début de "private sub...", "analyse01" qui me positionne juste après le
"Sub analyse01()" de la macro principale, et "workbook_open" qui me
positionne juste avant le call analyse01...
Pour info j'utilise VB 6.3.

Si ca peut aider, je viens de sacrifier deux poulets et un mouton sur
l'autel de saint minidoux...

------------------------------
"Gilles MOUGNOZ" a écrit dans le message de news:
%
Bonjour,
J'ai modifié ma macro pour avoir dans le "workbook open" ceci :
Private Sub Workbook_Open()
analyse01
End Sub
et dans analyse01 la macro à exécuter...
Et bien rien ne se passe à l'ouverture du classeur...
Par contre je peux tjrs exécuter la macro "à la main"...
Je séche...
?
Fred


Bonjour, Fred

Reprenons les choses dans l'ordre:
1) Ouvrir le classeur
2) Presser les touches Alt+F11 pour ouvrir l'éditeur VBA
3) Dans la zone de gauche faire un double clic sur "ThisWorkBook"
4) Ecrire la macro "Workbook_Open" dans la fenêtre qui apparaît à droite
5) Fermer l'éditeur VBA avec Alt+F4
6) Enregistrer le classeur et fermer Excel (pour plus de sûreté)
7) Rouvrir le classeur et vérifier que la macro se lance bien

Au besoin, ajoute une MsgBox en début de macro.
Il se peut aussi que ta macro plante pour une raison ou une autre...

Bonne continuation

PS: la prochaine fois, reste dans la même discussion, c'est plus facile
à suivre ;-)












1 2