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

lien macro quand création fichier depuis feuille

7 réponses
Avatar
gilles
Bonjour à tous,
depuis un onglet situé dans un classeur, je crée un nouveau fichier
le problème est que les macro qui sont dans la feuille sauvegardée, restent
liées au classeur d'origine
ex:
onglet TYPE du classeur TOTO
j'enregistre TYPE sous le nom de COPIE TYPE
la bouton de macro qui est dans la feuille enregistrée sera lié à
TOTO.xls'!nomMacro
et non pas COPIE TYPE.xls'!nomMacro
ça m'embête car jenvoie ce fichier à diverses personnes et j'aimerais qu'ils
lancent la macro mais un message indique qu'il ne trouve pas le code
et ce en xl2003 ou en xl2007
Ya t-y des cerveaux puissants qui pourraient m'aider sur le sujet?
MERCI
gilles72
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...

7 réponses

Avatar
isabelle
bonjour Gilles,

utilise un bouton de la barre d'outils contrôls, la macro associée à ce
bouton sera placée sur la page code de la feuille.

isabelle

gilles a écrit :
Bonjour à tous,
depuis un onglet situé dans un classeur, je crée un nouveau fichier
le problème est que les macro qui sont dans la feuille sauvegardée, restent
liées au classeur d'origine
ex:
onglet TYPE du classeur TOTO
j'enregistre TYPE sous le nom de COPIE TYPE
la bouton de macro qui est dans la feuille enregistrée sera lié à
TOTO.xls'!nomMacro
et non pas COPIE TYPE.xls'!nomMacro
ça m'embête car jenvoie ce fichier à diverses personnes et j'aimerais qu'ils
lancent la macro mais un message indique qu'il ne trouve pas le code
et ce en xl2003 ou en xl2007
Ya t-y des cerveaux puissants qui pourraient m'aider sur le sujet?
MERCI
gilles72
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Avatar
gilles
Bonjour Isabelle,
et merci de ton conseil
Dans mon fichier, le code est déja placé dans la feuille
Concrètement, comment ça se passe?
le bouton de la barre controle a un code qui y est associé?
et dans ce code tu y mets call ta macro?
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"isabelle" a écrit :

bonjour Gilles,

utilise un bouton de la barre d'outils contrôls, la macro associée à ce
bouton sera placée sur la page code de la feuille.

isabelle

gilles a écrit :
> Bonjour à tous,
> depuis un onglet situé dans un classeur, je crée un nouveau fichier
> le problème est que les macro qui sont dans la feuille sauvegardée, restent
> liées au classeur d'origine
> ex:
> onglet TYPE du classeur TOTO
> j'enregistre TYPE sous le nom de COPIE TYPE
> la bouton de macro qui est dans la feuille enregistrée sera lié à
> TOTO.xls'!nomMacro
> et non pas COPIE TYPE.xls'!nomMacro
> ça m'embête car jenvoie ce fichier à diverses personnes et j'aimerais qu'ils
> lancent la macro mais un message indique qu'il ne trouve pas le code
> et ce en xl2003 ou en xl2007
> Ya t-y des cerveaux puissants qui pourraient m'aider sur le sujet?
> MERCI
> gilles72
> --
> en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
> mais à chaque jour suffit sa peine...
>



Avatar
MichDenis
Place ceci dans le ThisWorkbook de ton classeur problématique

Tu fermes ton classeur et à sa réouverture, ton problème
devrait être réglé.

'-----------------------------
Private Sub Workbook_Open()
Dim B As Object, NomMacro As String
For Each sh In Worksheets
For Each B In sh.Shapes
If TypeName(B.OLEFormat.Object) = "Button" Then
NomMacro = B.OLEFormat.Object.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = wk.Name & "!" & NomMacro
B.OLEFormat.Object.OnAction = NomMacro
End If
End If
Next
Next
End Sub
'-----------------------------


"gilles" a écrit dans le message de groupe de
discussion :
Bonjour à tous,
depuis un onglet situé dans un classeur, je crée un nouveau fichier
le problème est que les macro qui sont dans la feuille sauvegardée, restent
liées au classeur d'origine
ex:
onglet TYPE du classeur TOTO
j'enregistre TYPE sous le nom de COPIE TYPE
la bouton de macro qui est dans la feuille enregistrée sera lié à
TOTO.xls'!nomMacro
et non pas COPIE TYPE.xls'!nomMacro
ça m'embête car jenvoie ce fichier à diverses personnes et j'aimerais qu'ils
lancent la macro mais un message indique qu'il ne trouve pas le code
et ce en xl2003 ou en xl2007
Ya t-y des cerveaux puissants qui pourraient m'aider sur le sujet?
MERCI
gilles72
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
Avatar
isabelle
bonjour Gilles,


gilles a écrit :
Bonjour Isabelle,
et merci de ton conseil
Dans mon fichier, le code est déja placé dans la feuille
Concrètement, comment ça se passe?
le bouton de la barre controle a un code qui y est associé



oui fait un clic droit sur le bouton et selectionne Visualiser le code
tu sera rediriger en vba à :

Private Sub CommandButton1_Click()
'place la macro complete ici
End Sub
et dans ce code tu y mets call ta macro?



non, tu y mets y la macro complete,

isabelle
Avatar
gilles
Re-bonjour Isabelle et Michel
merci de votre aide
J'ai placé le code de Michel dans le this workbook sans rien y changer et ça
ne change rien: la macro est toujours liée au fichier d'origine, mais j'ai
pas étudié ce qui pouvait être la cause du pb.
j'ai placé un bouton et le code dans la procédure associée
Là ça marche, c'est à dire qu'on peut lancer la macro
Elle bug encore mais plus parcequ'elle n'est pas trouvée

Par contre comment changer le texte à l'intérieur du bouton?

Merci à vous
gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"isabelle" a écrit :

bonjour Gilles,


gilles a écrit :
> Bonjour Isabelle,
> et merci de ton conseil
> Dans mon fichier, le code est déja placé dans la feuille
> Concrètement, comment ça se passe?
> le bouton de la barre controle a un code qui y est associé
>
oui fait un clic droit sur le bouton et selectionne Visualiser le code
tu sera rediriger en vba à :

Private Sub CommandButton1_Click()
'place la macro complete ici
End Sub
> et dans ce code tu y mets call ta macro?
>
non, tu y mets y la macro complete,

isabelle



Avatar
isabelle
bonjour Gilles,

pour modifier le texte du bouton, fait un clic droit sur le bouton et
sélectionne Propriétés
modifie la ligne Caption et tant qu'à être là, met la valeur de
TakeFocusOnClik à false.

isabelle

gilles a écrit :
Re-bonjour Isabelle et Michel
merci de votre aide
J'ai placé le code de Michel dans le this workbook sans rien y changer et ça
ne change rien: la macro est toujours liée au fichier d'origine, mais j'ai
pas étudié ce qui pouvait être la cause du pb.
j'ai placé un bouton et le code dans la procédure associée
Là ça marche, c'est à dire qu'on peut lancer la macro
Elle bug encore mais plus parcequ'elle n'est pas trouvée

Par contre comment changer le texte à l'intérieur du bouton?

Merci à vous
gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"isabelle" a écrit :


bonjour Gilles,


gilles a écrit :

Bonjour Isabelle,
et merci de ton conseil
Dans mon fichier, le code est déja placé dans la feuille
Concrètement, comment ça se passe?
le bouton de la barre controle a un code qui y est associé




oui fait un clic droit sur le bouton et selectionne Visualiser le code
tu sera rediriger en vba à :

Private Sub CommandButton1_Click()
'place la macro complete ici
End Sub

et dans ce code tu y mets call ta macro?




non, tu y mets y la macro complete,

isabelle






Avatar
gilles
Merci encore Isabelle,

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"isabelle" a écrit :

bonjour Gilles,

pour modifier le texte du bouton, fait un clic droit sur le bouton et
sélectionne Propriétés
modifie la ligne Caption et tant qu'à être là, met la valeur de
TakeFocusOnClik à false.

isabelle

gilles a écrit :
> Re-bonjour Isabelle et Michel
> merci de votre aide
> J'ai placé le code de Michel dans le this workbook sans rien y changer et ça
> ne change rien: la macro est toujours liée au fichier d'origine, mais j'ai
> pas étudié ce qui pouvait être la cause du pb.
> j'ai placé un bouton et le code dans la procédure associée
> Là ça marche, c'est à dire qu'on peut lancer la macro
> Elle bug encore mais plus parcequ'elle n'est pas trouvée
>
> Par contre comment changer le texte à l'intérieur du bouton?
>
> Merci à vous
> gilles
> en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
> mais à chaque jour suffit sa peine...
>
>
> "isabelle" a écrit :
>
>
>> bonjour Gilles,
>>
>>
>> gilles a écrit :
>>
>>> Bonjour Isabelle,
>>> et merci de ton conseil
>>> Dans mon fichier, le code est déja placé dans la feuille
>>> Concrètement, comment ça se passe?
>>> le bouton de la barre controle a un code qui y est associé
>>>
>>>
>> oui fait un clic droit sur le bouton et selectionne Visualiser le code
>> tu sera rediriger en vba à :
>>
>> Private Sub CommandButton1_Click()
>> 'place la macro complete ici
>> End Sub
>>
>>> et dans ce code tu y mets call ta macro?
>>>
>>>
>> non, tu y mets y la macro complete,
>>
>> isabelle
>>
>>