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

Comment eviter le chemin dans un bouton macro ?

4 réponses
Avatar
Kared
bonjour,

j'ai un fichier excel dans lequel plusieures macros me servent à naviguer
dans le fichier (et également à faire plein d'autres taches).
j'ai crée une barre d'outils perso pour faire des boutons perso auquels j'ai
affecté ces macros.
le souci c'est que le chemin de fichier complet est repris dans la ligne de
commande du bouton.
ex :
'H:\contactis\note de frais\note2007.xls'!Archiver
le nom de la macro soit "Archiver" me suffirait amplement du fait que ce
fichier se trouve sur une clef USB dont la lettre de lecteru change selon
les ordinateurs.

comment faire pour suprimer le chemin dans ces boutons de commande.

j'espère avoir été clair si ce n'est le cas je suis pret à expliciter
davantage mon problème. Merci d'avance pour vos réponses.

cordialement

Marc L.

4 réponses

Avatar
MichDenis
Dans le ThisWorkbook, place ceci :

Dans la procédure : CheminMesMacros , tu dois adapter
le nom de ta barre d'outils dans la macro.

Ceci va modifier le chemin des macros des boutons
de ta barre d'outils personnalisée à chaque ouverture du fichier

'-----------------------------
Private Sub Workbook_Open()

CheminMesMacros

End Sub

'-----------------------------
Sub CheminMesMacros()

Dim C As CommandBarControl
Dim NomMacro As String

For Each C In Application.CommandBars("denis").Controls
NomMacro = C.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = ThisWorkbook.FullName & "!" & NomMacro
C.OnAction = NomMacro
End If
Next
End Sub
'-----------------------------





"Kared" a écrit dans le message de news:
bonjour,

j'ai un fichier excel dans lequel plusieures macros me servent à naviguer
dans le fichier (et également à faire plein d'autres taches).
j'ai crée une barre d'outils perso pour faire des boutons perso auquels j'ai
affecté ces macros.
le souci c'est que le chemin de fichier complet est repris dans la ligne de
commande du bouton.
ex :
'H:contactisnote de fraisnote2007.xls'!Archiver
le nom de la macro soit "Archiver" me suffirait amplement du fait que ce
fichier se trouve sur une clef USB dont la lettre de lecteru change selon
les ordinateurs.

comment faire pour suprimer le chemin dans ces boutons de commande.

j'espère avoir été clair si ce n'est le cas je suis pret à expliciter
davantage mon problème. Merci d'avance pour vos réponses.

cordialement

Marc L.
Avatar
Kared
merci MichDenis

j'ai tenté de faire ce que tu m'a envoyé à savoir :
ajouter :
---------------------
Private Sub Workbook_Open()

CheminMesMacros

End Sub
---------------------
ajouter et modifier :
---------------------
Sub CheminMesMacros()

Dim C As CommandBarControl
Dim NomMacro As String

For Each C In Application.CommandBars("MacrosPerso").Controls
NomMacro = C.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = ThisWorkbook.FullName & "!" & NomMacro
C.OnAction = NomMacro
End If
Next
End Sub
----------------------

ou MacrosPerso est le nom de ma barre d'outil ou sont stockées mes boutons.

cela ne change pas le chemin de fichier malheureusement. aurais je oublié
quelque chose ?

cordialement
Marc L as kared


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

Dans le ThisWorkbook, place ceci :

Dans la procédure : CheminMesMacros , tu dois adapter
le nom de ta barre d'outils dans la macro.

Ceci va modifier le chemin des macros des boutons
de ta barre d'outils personnalisée à chaque ouverture du fichier

'-----------------------------
Private Sub Workbook_Open()

CheminMesMacros

End Sub

'-----------------------------
Sub CheminMesMacros()

Dim C As CommandBarControl
Dim NomMacro As String

For Each C In Application.CommandBars("denis").Controls
NomMacro = C.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = ThisWorkbook.FullName & "!" & NomMacro
C.OnAction = NomMacro
End If
Next
End Sub
'-----------------------------





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

bonjour,

j'ai un fichier excel dans lequel plusieures macros me servent à naviguer
dans le fichier (et également à faire plein d'autres taches).
j'ai crée une barre d'outils perso pour faire des boutons perso auquels
j'ai
affecté ces macros.
le souci c'est que le chemin de fichier complet est repris dans la ligne
de
commande du bouton.
ex :
'H:contactisnote de fraisnote2007.xls'!Archiver
le nom de la macro soit "Archiver" me suffirait amplement du fait que ce
fichier se trouve sur une clef USB dont la lettre de lecteru change selon
les ordinateurs.

comment faire pour suprimer le chemin dans ces boutons de commande.

j'espère avoir été clair si ce n'est le cas je suis pret à expliciter
davantage mon problème. Merci d'avance pour vos réponses.

cordialement

Marc L.





Avatar
MichDenis
| 'H:contactisnote de fraisnote2007.xls'!Archiver
| le nom de la macro soit "Archiver" me suffirait amplement du fait que ce
| fichier se trouve sur une clef USB dont la lettre de lecteru change selon
| les ordinateurs.

Le but des 2 procédures n'est pas d'enlever le chemin qui est lié aux boutons
de ta barre d'outils. Cependant, la macro devrait être capable d'adapter
à chaque ouverture du fichier le chemin du fichier(dans ton cas la lettre
du lecteur)

Pour ce faire, observe ces 2 lignes :

| NomMacro = ThisWorkbook.FullName & "!" & NomMacro
| C.OnAction = NomMacro

Après avoir extrait le nom de la macro attachée au bouton,
la macro modifie le chemin et le nom de la macro selon le
nouveau chemin où se situé le fichier. Cette macro fut testée
en utilisant des lecteurs (lettre différent d'un disque dur) mais
non avec une clé USB.


Est-ce que tes boutons de ta barre d'outils fonctionnent ?
C'était là le but.






"Kared" a écrit dans le message de news: Oi6n%
merci MichDenis

j'ai tenté de faire ce que tu m'a envoyé à savoir :
ajouter :
---------------------
Private Sub Workbook_Open()

CheminMesMacros

End Sub
---------------------
ajouter et modifier :
---------------------
Sub CheminMesMacros()

Dim C As CommandBarControl
Dim NomMacro As String

For Each C In Application.CommandBars("MacrosPerso").Controls
NomMacro = C.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = ThisWorkbook.FullName & "!" & NomMacro
C.OnAction = NomMacro
End If
Next
End Sub
----------------------

ou MacrosPerso est le nom de ma barre d'outil ou sont stockées mes boutons.

cela ne change pas le chemin de fichier malheureusement. aurais je oublié
quelque chose ?

cordialement
Marc L as kared


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

Dans le ThisWorkbook, place ceci :

Dans la procédure : CheminMesMacros , tu dois adapter
le nom de ta barre d'outils dans la macro.

Ceci va modifier le chemin des macros des boutons
de ta barre d'outils personnalisée à chaque ouverture du fichier

'-----------------------------
Private Sub Workbook_Open()

CheminMesMacros

End Sub

'-----------------------------
Sub CheminMesMacros()

Dim C As CommandBarControl
Dim NomMacro As String

For Each C In Application.CommandBars("denis").Controls
NomMacro = C.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = ThisWorkbook.FullName & "!" & NomMacro
C.OnAction = NomMacro
End If
Next
End Sub
'-----------------------------





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

bonjour,

j'ai un fichier excel dans lequel plusieures macros me servent à naviguer
dans le fichier (et également à faire plein d'autres taches).
j'ai crée une barre d'outils perso pour faire des boutons perso auquels
j'ai
affecté ces macros.
le souci c'est que le chemin de fichier complet est repris dans la ligne
de
commande du bouton.
ex :
'H:contactisnote de fraisnote2007.xls'!Archiver
le nom de la macro soit "Archiver" me suffirait amplement du fait que ce
fichier se trouve sur une clef USB dont la lettre de lecteru change selon
les ordinateurs.

comment faire pour suprimer le chemin dans ces boutons de commande.

j'espère avoir été clair si ce n'est le cas je suis pret à expliciter
davantage mon problème. Merci d'avance pour vos réponses.

cordialement

Marc L.





Avatar
Kared
Effectivement cela fonctionne : je ne devais pas etre reveillé quand j'ai
testé cela !
ça marche nickel !

merci beaucoup MichDenis

"MichDenis" a écrit dans le message de news:
%
| 'H:contactisnote de fraisnote2007.xls'!Archiver
| le nom de la macro soit "Archiver" me suffirait amplement du fait que ce
| fichier se trouve sur une clef USB dont la lettre de lecteru change
selon
| les ordinateurs.

Le but des 2 procédures n'est pas d'enlever le chemin qui est lié aux
boutons
de ta barre d'outils. Cependant, la macro devrait être capable d'adapter
à chaque ouverture du fichier le chemin du fichier(dans ton cas la lettre
du lecteur)

Pour ce faire, observe ces 2 lignes :

| NomMacro = ThisWorkbook.FullName & "!" & NomMacro
| C.OnAction = NomMacro

Après avoir extrait le nom de la macro attachée au bouton,
la macro modifie le chemin et le nom de la macro selon le
nouveau chemin où se situé le fichier. Cette macro fut testée
en utilisant des lecteurs (lettre différent d'un disque dur) mais
non avec une clé USB.


Est-ce que tes boutons de ta barre d'outils fonctionnent ?
C'était là le but.






"Kared" a écrit dans le message de news:
Oi6n%
merci MichDenis

j'ai tenté de faire ce que tu m'a envoyé à savoir :
ajouter :
---------------------
Private Sub Workbook_Open()

CheminMesMacros

End Sub
---------------------
ajouter et modifier :
---------------------
Sub CheminMesMacros()

Dim C As CommandBarControl
Dim NomMacro As String

For Each C In Application.CommandBars("MacrosPerso").Controls
NomMacro = C.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = ThisWorkbook.FullName & "!" & NomMacro
C.OnAction = NomMacro
End If
Next
End Sub
----------------------

ou MacrosPerso est le nom de ma barre d'outil ou sont stockées mes
boutons.

cela ne change pas le chemin de fichier malheureusement. aurais je oublié
quelque chose ?

cordialement
Marc L as kared


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

Dans le ThisWorkbook, place ceci :

Dans la procédure : CheminMesMacros , tu dois adapter
le nom de ta barre d'outils dans la macro.

Ceci va modifier le chemin des macros des boutons
de ta barre d'outils personnalisée à chaque ouverture du fichier

'-----------------------------
Private Sub Workbook_Open()

CheminMesMacros

End Sub

'-----------------------------
Sub CheminMesMacros()

Dim C As CommandBarControl
Dim NomMacro As String

For Each C In Application.CommandBars("denis").Controls
NomMacro = C.OnAction
If NomMacro <> "" Then
NomMacro = Mid(NomMacro, InStrRev(NomMacro, "!") + 1)
NomMacro = ThisWorkbook.FullName & "!" & NomMacro
C.OnAction = NomMacro
End If
Next
End Sub
'-----------------------------





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

bonjour,

j'ai un fichier excel dans lequel plusieures macros me servent à naviguer
dans le fichier (et également à faire plein d'autres taches).
j'ai crée une barre d'outils perso pour faire des boutons perso auquels
j'ai
affecté ces macros.
le souci c'est que le chemin de fichier complet est repris dans la ligne
de
commande du bouton.
ex :
'H:contactisnote de fraisnote2007.xls'!Archiver
le nom de la macro soit "Archiver" me suffirait amplement du fait que ce
fichier se trouve sur une clef USB dont la lettre de lecteru change selon
les ordinateurs.

comment faire pour suprimer le chemin dans ces boutons de commande.

j'espère avoir été clair si ce n'est le cas je suis pret à expliciter
davantage mon problème. Merci d'avance pour vos réponses.

cordialement

Marc L.