Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

qui sera assez fort pour resoudre ce probleme ?

13 réponses
Avatar
MagicMandrax
Bonjour,

j'ai une toolbar que je loade avec un auto-open de mon
classeur Personnal.

Dans cette toolbar, un bouton active une macro de
personnal.xls qui ouvre le classeur "Monclasseur" .

Une fois ce "Monclasseur" ouvert, un autre bouton de la
meme toolbar lance la Macro1 de "Monclasseur".

Mon probleme est qu'avec le texte actuel du load de ma
toolbar
(blablabla......
With UPD.Controls.Add(Type:=msoControlButton,
temporary:=True)
.Caption = "faire tourner la macro de Monclasseur"
.Style = msoButtonCaption
.OnAction = "'Monclasseur.xls'!Macro1"
End With )

>>>>j'ai un message d'erreur qui me dit que le classeur
Monclasseur est deja ouvert.
Et si je retire le nom du classeur dans "OnAction=Macro1",
Excel ne trouve pas la macro meme si Monclasseur est
ouvert.

des solutions ?

3 réponses

1 2
Avatar
sabatier
bonjour ghislain
pour le chemin des macros, tu risques en effet d'avoir de bien
désagréables surprises dans la mesure où tu vas d'une version de Win du
style 98 vers du Win du style XP...Dieu merci, le père brossollette dans
sa miséricorde légendaire était là pour me prêter proc forte, même si je
n'ai jamais bien réussi à la faire marcher...
jps

Ghislain a écrit:
Hello TicTok,

Toujours au boulot! Super.

Puis-je te poser une question de base, pour ma formation
qui est aussi ... de base?

Si je me crée un classeur et y développe une macro, et si
je copie ce classeur pour le placer sur un autre PC, je
suppose que la macro "suivra" le dossier.

Question: peut-on, avec autant d'aisance, créer une barre
d'outil et la "coller" au classeur sans qu'il soit
nécessaire, comme on s'est débattu à nous 2 à le faire
l'autre jour, d'aller la rechercher dans les racines
obscures de Win?

De plus, cette barre possède évidemment des boutons qui
renvoient vers des macros. Or ces macros ont des
localisations qui risquent de ne pas se retrouver sur le
nouveau PC.

re-question comment marier tout cela?

NE M'ENVOIT PAS VERS VISUAL STUDIO.NET sinon je vais boire
un pot chez un pote qui ne jure que par Linux :-o

Amicalement

Ghislain



-----Message d'origine-----
Il semble que ton probleme soit les liens relatifs et tel


classeur actif ou

non.
Ta Macro1 est dans le ThisWorkbook ou dans un module. Si


dans un module,

ecris : Monclasseur.xls!Module.Macro1
Il faut que tu fasses pas a pas le chemin que fera tes


macros et tes

boutons, moi je vois pas trop ce qui ne marche pas ...


"MagicMandrax"


escreveu na mensagem

news:117de01c441a6$1ce9d6c0$

non, point de "Workbooks.Open" dans la macro activee par
le bouton ....

une autre idee ?



-----Original Message-----
Salut MandrakeMagique.
Ghislain et moi avons une super solution completement


personnalisee a te

proposer : on a monte une boite qui fournit que des


programmes sur les

barres d'outils pour VB.
Pour ton cas, on te fait un prix. Disons ... (c'est bon


je sors !) LOL.

Le premier bouton (activant une macro de perso.xls)


fait



des operations sur

ton "Monclasseur" .
Ta macro1 de "Monclasseur" activee par le second bouton


fait autre chose sur

le fichier meme.
Ta macro1 ne contiendrait pas un Workbooks.Open


("Monclasseur.xls" ) ?

Et si je retire le nom du classeur


dans "OnAction=Macro1",


Peut etre que Perso.xls etant active, c'est pour ca que


ca ne marche pas.

C'est une idee.

"MagicMandrax"


escreveu na mensagem

news:1162001c4418b$cd7a7230$

Bonjour,

j'ai une toolbar que je loade avec un auto-open de


mon




classeur Personnal.

Dans cette toolbar, un bouton active une macro de
personnal.xls qui ouvre le classeur "Monclasseur" .

Une fois ce "Monclasseur" ouvert, un autre bouton


de




la

meme toolbar lance la Macro1 de "Monclasseur".

Mon probleme est qu'avec le texte actuel du load de


ma




toolbar
(blablabla......
With UPD.Controls.Add(Type:=msoControlButton,
temporary:=True)
.Caption = "faire tourner la macro de Monclasseur"
.Style = msoButtonCaption
.OnAction = "'Monclasseur.xls'!Macro1"
End With )


j'ai un message d'erreur qui me dit que le


classeur








Monclasseur est deja ouvert.
Et si je retire le nom du classeur


dans "OnAction=Macro1",


Excel ne trouve pas la macro meme si Monclasseur est
ouvert.

des solutions ?





.





.













Avatar
tictok
Ben, y a plus simple (mais plus radical il est vrai) : utilisez pas de
macros !
Perso, je mets toujours "Module.Macro", avec fichier.xls! si j'appelle une
macro d'un fichier externe.

"FxM" escreveu na mensagem
news:eG#
Bonsoir,

Je suis d'accord pour le premier point.
Par contre, le second moins car si tu as plusieurs macros dans ton
module ?


Mais c'est vrai que tu es sur d'appeler la bonne macro.
Même pas sûr :o) En fait, tout dépend d'où tu lances la macro. Exemple :

Le classeur "classeur1.xls" contient un module nommé 'test' qui comprend
deux macros :
Sub test()
msgbox "test"
End Sub
Sub test2()
msgbox "test2"
test
End Sub

Outils | macros présente comme suit :
Classeur1.xls!test.test
test2
1ère question : pourquoi cette différence ?
Lancer test ou test2 ne pose pas de problème.

Un second classeur nommé comme tu le sens avec un module contenant les
trois macros suivantes :

Sub test3()
Application.Run "classeur1.xls!test"
End Sub
Sub test4()
Application.Run "classeur1.xls!test.test"
End Sub
Sub test5()
Application.Run "classeur1.xls!test2"
End Sub
test4 et test5 ne posent aucun souci tandis que test3 met une injurebox.

Donc achtung aux macros qui partagent le nom de leur module (et
vice-versa)


@+
FxM



Avatar
tictok
Moi pas connaitre Vé Bé Dot Nette. Donc je ne t'y enverrais pas.
Je dirais : mettre dans un seul fichier (et/ou dossier) la macro pour la
barre d'outils et les macros que tu utilises souvent et qui doivent donc
etre sur la barre.
Ce seul fichier va jouer le meme role que perso.xls.
Avec mon code (et avec d'autres), tu generes et supprimes autant de fois que
tu veux la barre d'outils.
Le seul probleme sera les liens vers les macros comme le dit Sabatier.
Ce que tu veux, c'est une barre d'outils pour lancer tes macros dispersees
sur tont DD ?

"Ghislain" escreveu na mensagem
news:197501c44292$c41b5300$
Hello TicTok,

Toujours au boulot! Super.

Puis-je te poser une question de base, pour ma formation
qui est aussi ... de base?

Si je me crée un classeur et y développe une macro, et si
je copie ce classeur pour le placer sur un autre PC, je
suppose que la macro "suivra" le dossier.

Question: peut-on, avec autant d'aisance, créer une barre
d'outil et la "coller" au classeur sans qu'il soit
nécessaire, comme on s'est débattu à nous 2 à le faire
l'autre jour, d'aller la rechercher dans les racines
obscures de Win?

De plus, cette barre possède évidemment des boutons qui
renvoient vers des macros. Or ces macros ont des
localisations qui risquent de ne pas se retrouver sur le
nouveau PC.

re-question comment marier tout cela?

NE M'ENVOIT PAS VERS VISUAL STUDIO.NET sinon je vais boire
un pot chez un pote qui ne jure que par Linux :-o

Amicalement

Ghislain


-----Message d'origine-----
Il semble que ton probleme soit les liens relatifs et tel
classeur actif ou

non.
Ta Macro1 est dans le ThisWorkbook ou dans un module. Si
dans un module,

ecris : Monclasseur.xls!Module.Macro1
Il faut que tu fasses pas a pas le chemin que fera tes
macros et tes

boutons, moi je vois pas trop ce qui ne marche pas ...


"MagicMandrax"
escreveu na mensagem

news:117de01c441a6$1ce9d6c0$
non, point de "Workbooks.Open" dans la macro activee par
le bouton ....

une autre idee ?


-----Original Message-----
Salut MandrakeMagique.
Ghislain et moi avons une super solution completement
personnalisee a te

proposer : on a monte une boite qui fournit que des
programmes sur les

barres d'outils pour VB.
Pour ton cas, on te fait un prix. Disons ... (c'est bon
je sors !) LOL.


Le premier bouton (activant une macro de perso.xls)
fait



des operations sur
ton "Monclasseur" .
Ta macro1 de "Monclasseur" activee par le second bouton
fait autre chose sur

le fichier meme.
Ta macro1 ne contiendrait pas un Workbooks.Open
("Monclasseur.xls" ) ?


Et si je retire le nom du classeur
dans "OnAction=Macro1",


Peut etre que Perso.xls etant active, c'est pour ca que
ca ne marche pas.

C'est une idee.

"MagicMandrax"
escreveu na mensagem

news:1162001c4418b$cd7a7230$
Bonjour,

j'ai une toolbar que je loade avec un auto-open de
mon




classeur Personnal.

Dans cette toolbar, un bouton active une macro de
personnal.xls qui ouvre le classeur "Monclasseur" .

Une fois ce "Monclasseur" ouvert, un autre bouton
de




la
meme toolbar lance la Macro1 de "Monclasseur".

Mon probleme est qu'avec le texte actuel du load de
ma




toolbar
(blablabla......
With UPD.Controls.Add(Type:=msoControlButton,
temporary:=True)
.Caption = "faire tourner la macro de Monclasseur"
.Style = msoButtonCaption
.OnAction = "'Monclasseur.xls'!Macro1"
End With )

j'ai un message d'erreur qui me dit que le
classeur








Monclasseur est deja ouvert.
Et si je retire le nom du classeur
dans "OnAction=Macro1",


Excel ne trouve pas la macro meme si Monclasseur est
ouvert.

des solutions ?





.





.










1 2