tous les ans je change le nom d'un classeur en focntion de l'année scolaire.
J'ai affecté des macros à des boutons personnalisés. Suite au changement de
nom, les macros affectées aux boutons se bloquent et demandent l'ancien
classeur. Il faut que je réaffecte les macros à chaque bouton. Comment
éviter cela (par exemple en déclarant la macro au classeur actif mais je ne
sais pas comment le mettre dans chaque macro en visual basic
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Monnerie,
Tu copies ce qui suit et tu exécutes la macro "ReaffactationDesMacrosAuBouton()" une fois par année ! Elle va passer en revue chacun des boutons de commande issu de ta barre d'outils formulaire pour toutes les feuilles de ton classeur.
Chanceux !
'--------------------------- Sub ReaffactationDesMacrosAuBouton() AttributionNomMacro ThisWorkbook End sub '--------------------------- Sub AttributionNomMacro(wk As Workbook)
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 '---------------------------
Salutations!
"Monnerie" <francoismonnerie(supprimerceci)@hotmail.com> a écrit dans le message de news: Bonjour,
j'ai une petite question :
tous les ans je change le nom d'un classeur en focntion de l'année scolaire. J'ai affecté des macros à des boutons personnalisés. Suite au changement de nom, les macros affectées aux boutons se bloquent et demandent l'ancien classeur. Il faut que je réaffecte les macros à chaque bouton. Comment éviter cela (par exemple en déclarant la macro au classeur actif mais je ne sais pas comment le mettre dans chaque macro en visual basic
Merci d'avance
Bonjour Monnerie,
Tu copies ce qui suit et tu exécutes la macro "ReaffactationDesMacrosAuBouton()" une fois par année !
Elle va passer en revue chacun des boutons de commande issu de ta barre d'outils formulaire pour toutes les feuilles de
ton classeur.
Chanceux !
'---------------------------
Sub ReaffactationDesMacrosAuBouton()
AttributionNomMacro ThisWorkbook
End sub
'---------------------------
Sub AttributionNomMacro(wk As Workbook)
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
'---------------------------
Salutations!
"Monnerie" <francoismonnerie(supprimerceci)@hotmail.com> a écrit dans le message de
news:u8atudUWEHA.1144@TK2MSFTNGP10.phx.gbl...
Bonjour,
j'ai une petite question :
tous les ans je change le nom d'un classeur en focntion de l'année scolaire.
J'ai affecté des macros à des boutons personnalisés. Suite au changement de
nom, les macros affectées aux boutons se bloquent et demandent l'ancien
classeur. Il faut que je réaffecte les macros à chaque bouton. Comment
éviter cela (par exemple en déclarant la macro au classeur actif mais je ne
sais pas comment le mettre dans chaque macro en visual basic
Tu copies ce qui suit et tu exécutes la macro "ReaffactationDesMacrosAuBouton()" une fois par année ! Elle va passer en revue chacun des boutons de commande issu de ta barre d'outils formulaire pour toutes les feuilles de ton classeur.
Chanceux !
'--------------------------- Sub ReaffactationDesMacrosAuBouton() AttributionNomMacro ThisWorkbook End sub '--------------------------- Sub AttributionNomMacro(wk As Workbook)
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 '---------------------------
Salutations!
"Monnerie" <francoismonnerie(supprimerceci)@hotmail.com> a écrit dans le message de news: Bonjour,
j'ai une petite question :
tous les ans je change le nom d'un classeur en focntion de l'année scolaire. J'ai affecté des macros à des boutons personnalisés. Suite au changement de nom, les macros affectées aux boutons se bloquent et demandent l'ancien classeur. Il faut que je réaffecte les macros à chaque bouton. Comment éviter cela (par exemple en déclarant la macro au classeur actif mais je ne sais pas comment le mettre dans chaque macro en visual basic
Merci d'avance
Monnerie
Merci beaucoup
"michdenis" a écrit dans le message de news:%23e2tZ$
Bonjour Monnerie,
Tu copies ce qui suit et tu exécutes la macro "ReaffactationDesMacrosAuBouton()" une fois par année !
Elle va passer en revue chacun des boutons de commande issu de ta barre d'outils formulaire pour toutes les feuilles de
ton classeur.
Chanceux !
'--------------------------- Sub ReaffactationDesMacrosAuBouton() AttributionNomMacro ThisWorkbook End sub '--------------------------- Sub AttributionNomMacro(wk As Workbook)
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 '---------------------------
Salutations!
"Monnerie" <francoismonnerie(supprimerceci)@hotmail.com> a écrit dans le message de
news: Bonjour,
j'ai une petite question :
tous les ans je change le nom d'un classeur en focntion de l'année scolaire.
J'ai affecté des macros à des boutons personnalisés. Suite au changement de
nom, les macros affectées aux boutons se bloquent et demandent l'ancien classeur. Il faut que je réaffecte les macros à chaque bouton. Comment éviter cela (par exemple en déclarant la macro au classeur actif mais je ne
sais pas comment le mettre dans chaque macro en visual basic
Merci d'avance
Merci beaucoup
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23e2tZ$VWEHA.212@TK2MSFTNGP11.phx.gbl...
Bonjour Monnerie,
Tu copies ce qui suit et tu exécutes la macro
"ReaffactationDesMacrosAuBouton()" une fois par année !
Elle va passer en revue chacun des boutons de commande issu de ta barre
d'outils formulaire pour toutes les feuilles de
ton classeur.
Chanceux !
'---------------------------
Sub ReaffactationDesMacrosAuBouton()
AttributionNomMacro ThisWorkbook
End sub
'---------------------------
Sub AttributionNomMacro(wk As Workbook)
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
'---------------------------
Salutations!
"Monnerie" <francoismonnerie(supprimerceci)@hotmail.com> a écrit dans le
message de
tous les ans je change le nom d'un classeur en focntion de l'année
scolaire.
J'ai affecté des macros à des boutons personnalisés. Suite au changement
de
nom, les macros affectées aux boutons se bloquent et demandent l'ancien
classeur. Il faut que je réaffecte les macros à chaque bouton. Comment
éviter cela (par exemple en déclarant la macro au classeur actif mais je
ne
sais pas comment le mettre dans chaque macro en visual basic
"michdenis" a écrit dans le message de news:%23e2tZ$
Bonjour Monnerie,
Tu copies ce qui suit et tu exécutes la macro "ReaffactationDesMacrosAuBouton()" une fois par année !
Elle va passer en revue chacun des boutons de commande issu de ta barre d'outils formulaire pour toutes les feuilles de
ton classeur.
Chanceux !
'--------------------------- Sub ReaffactationDesMacrosAuBouton() AttributionNomMacro ThisWorkbook End sub '--------------------------- Sub AttributionNomMacro(wk As Workbook)
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 '---------------------------
Salutations!
"Monnerie" <francoismonnerie(supprimerceci)@hotmail.com> a écrit dans le message de
news: Bonjour,
j'ai une petite question :
tous les ans je change le nom d'un classeur en focntion de l'année scolaire.
J'ai affecté des macros à des boutons personnalisés. Suite au changement de
nom, les macros affectées aux boutons se bloquent et demandent l'ancien classeur. Il faut que je réaffecte les macros à chaque bouton. Comment éviter cela (par exemple en déclarant la macro au classeur actif mais je ne
sais pas comment le mettre dans chaque macro en visual basic