Bonjour,
Le bout de code suivant me permet d'empêcher que la feuille "Menu" soit
renommée.
Mais j'aimerais que l'action qui se passe sur l'activation de l'onglet
se passe aussi sur le changement d'onglet et bien sur je ne trouve pas.
J'ai essayé toutes les options de worksheet activate à worksheet
SelectionChange sans résultat
Merci de l'aide
M.
---------------------------------------------
Private Sub Worksheet_Activate()
Dim Vrai_Nom As String
Vrai_Nom = "Menu"
If ActiveSheet.Name <> Vrai_Nom Then
ActiveSheet.Name = Vrai_Nom
End If
End Sub
----------------------------------------------
Je n'ai pas vraiment saisi ce que tu veux réaliser...
Copie ce qui suit dans le thisworkbook de ton classeur et remplace "Toto" par l'appellation de la propriété "Name" de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de code
Dans cette fenêtre une feuille est désignée ainsi : toto(Menu) "Toto" est la propriété "Name" de l'objet "Feuille" "Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes un nouvel onglet "feuille" de l'application. '------------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) Worksheets(ThisWorkbook.VBProject.VBComponents _ ("Toto").Properties("Index")).Name = "Menu" End Sub '------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans le ThisWorkbook : Cet événement est activé à chaque fois que tu changes la sélection de la cellule active qu'importe la feuille de calcul sur laquelle, tu te retrouves. '------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
"Michel (pen ar bed)" a écrit dans le message de news:
Bonjour, Le bout de code suivant me permet d'empêcher que la feuille "Menu" soit renommée. Mais j'aimerais que l'action qui se passe sur l'activation de l'onglet se passe aussi sur le changement d'onglet et bien sur je ne trouve pas. J'ai essayé toutes les options de worksheet activate à worksheet SelectionChange sans résultat Merci de l'aide
M.
--------------------------------------------- Private Sub Worksheet_Activate() Dim Vrai_Nom As String Vrai_Nom = "Menu" If ActiveSheet.Name <> Vrai_Nom Then ActiveSheet.Name = Vrai_Nom End If End Sub ----------------------------------------------
Je n'ai pas vraiment saisi ce que tu veux réaliser...
Copie ce qui suit dans le thisworkbook de ton classeur
et remplace "Toto" par l'appellation de la propriété "Name"
de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de
code
Dans cette fenêtre une feuille est désignée ainsi :
toto(Menu)
"Toto" est la propriété "Name" de l'objet "Feuille"
"Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes
un nouvel onglet "feuille" de l'application.
'------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Worksheets(ThisWorkbook.VBProject.VBComponents _
("Toto").Properties("Index")).Name = "Menu"
End Sub
'------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans
le ThisWorkbook :
Cet événement est activé à chaque fois que tu changes
la sélection de la cellule active qu'importe la feuille de
calcul sur laquelle, tu te retrouves.
'-------------------------------
Private Sub Workbook_SheetSelectionChange _
(ByVal Sh As Object, ByVal Target As Range)
"Michel (pen ar bed)" <Michel@mail.net> a écrit dans le message de news:
mn.63257d8a3df71f35.62698@mail.net...
Bonjour,
Le bout de code suivant me permet d'empêcher que la feuille "Menu" soit
renommée.
Mais j'aimerais que l'action qui se passe sur l'activation de l'onglet
se passe aussi sur le changement d'onglet et bien sur je ne trouve pas.
J'ai essayé toutes les options de worksheet activate à worksheet
SelectionChange sans résultat
Merci de l'aide
M.
---------------------------------------------
Private Sub Worksheet_Activate()
Dim Vrai_Nom As String
Vrai_Nom = "Menu"
If ActiveSheet.Name <> Vrai_Nom Then
ActiveSheet.Name = Vrai_Nom
End If
End Sub
----------------------------------------------
Je n'ai pas vraiment saisi ce que tu veux réaliser...
Copie ce qui suit dans le thisworkbook de ton classeur et remplace "Toto" par l'appellation de la propriété "Name" de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de code
Dans cette fenêtre une feuille est désignée ainsi : toto(Menu) "Toto" est la propriété "Name" de l'objet "Feuille" "Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes un nouvel onglet "feuille" de l'application. '------------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) Worksheets(ThisWorkbook.VBProject.VBComponents _ ("Toto").Properties("Index")).Name = "Menu" End Sub '------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans le ThisWorkbook : Cet événement est activé à chaque fois que tu changes la sélection de la cellule active qu'importe la feuille de calcul sur laquelle, tu te retrouves. '------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
"Michel (pen ar bed)" a écrit dans le message de news:
Bonjour, Le bout de code suivant me permet d'empêcher que la feuille "Menu" soit renommée. Mais j'aimerais que l'action qui se passe sur l'activation de l'onglet se passe aussi sur le changement d'onglet et bien sur je ne trouve pas. J'ai essayé toutes les options de worksheet activate à worksheet SelectionChange sans résultat Merci de l'aide
M.
--------------------------------------------- Private Sub Worksheet_Activate() Dim Vrai_Nom As String Vrai_Nom = "Menu" If ActiveSheet.Name <> Vrai_Nom Then ActiveSheet.Name = Vrai_Nom End If End Sub ----------------------------------------------
Michel (pen ar bed)
michdenis a exposé le 12/10/2008 :
Je n'ai pas vraiment saisi ce que tu veux réaliser...
Simplement empêcher de renommer un onglet par double-clic
Copie ce qui suit dans le thisworkbook de ton classeur et remplace "Toto" par l'appellation de la propriété "Name" de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de code
Dans cette fenêtre une feuille est désignée ainsi : toto(Menu) "Toto" est la propriété "Name" de l'objet "Feuille" "Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes un nouvel onglet "feuille" de l'application. '------------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) Worksheets(ThisWorkbook.VBProject.VBComponents _ ("Toto").Properties("Index")).Name = "Menu" End Sub '------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans le ThisWorkbook : Cet événement est activé à chaque fois que tu changes la sélection de la cellule active qu'importe la feuille de calcul sur laquelle, tu te retrouves. '------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
J'arrive au même résultat qu'avec mon code (ou alors j'ai pas tous compris :/ ) à savoir que l'onglet reprend son nom d'origine uniquement sur une activation de celui-ci ce que je cherche à faire c'est en plus de l'activation de l'onglet le faire aussi en sortant de l'onglet actif
j'espère avoir été plus clair
Merci
michdenis a exposé le 12/10/2008 :
Je n'ai pas vraiment saisi ce que tu veux réaliser...
Simplement empêcher de renommer un onglet par double-clic
Copie ce qui suit dans le thisworkbook de ton classeur
et remplace "Toto" par l'appellation de la propriété "Name"
de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de
code
Dans cette fenêtre une feuille est désignée ainsi :
toto(Menu)
"Toto" est la propriété "Name" de l'objet "Feuille"
"Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes
un nouvel onglet "feuille" de l'application.
'------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Worksheets(ThisWorkbook.VBProject.VBComponents _
("Toto").Properties("Index")).Name = "Menu"
End Sub
'------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans
le ThisWorkbook :
Cet événement est activé à chaque fois que tu changes
la sélection de la cellule active qu'importe la feuille de
calcul sur laquelle, tu te retrouves.
'-------------------------------
Private Sub Workbook_SheetSelectionChange _
(ByVal Sh As Object, ByVal Target As Range)
J'arrive au même résultat qu'avec mon code (ou alors j'ai pas tous
compris :/ ) à savoir que l'onglet reprend son nom d'origine uniquement
sur une activation de celui-ci
ce que je cherche à faire c'est en plus de l'activation de l'onglet le
faire aussi en sortant de l'onglet actif
Je n'ai pas vraiment saisi ce que tu veux réaliser...
Simplement empêcher de renommer un onglet par double-clic
Copie ce qui suit dans le thisworkbook de ton classeur et remplace "Toto" par l'appellation de la propriété "Name" de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de code
Dans cette fenêtre une feuille est désignée ainsi : toto(Menu) "Toto" est la propriété "Name" de l'objet "Feuille" "Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes un nouvel onglet "feuille" de l'application. '------------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) Worksheets(ThisWorkbook.VBProject.VBComponents _ ("Toto").Properties("Index")).Name = "Menu" End Sub '------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans le ThisWorkbook : Cet événement est activé à chaque fois que tu changes la sélection de la cellule active qu'importe la feuille de calcul sur laquelle, tu te retrouves. '------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
J'arrive au même résultat qu'avec mon code (ou alors j'ai pas tous compris :/ ) à savoir que l'onglet reprend son nom d'origine uniquement sur une activation de celui-ci ce que je cherche à faire c'est en plus de l'activation de l'onglet le faire aussi en sortant de l'onglet actif
| Simplement empêcher de renommer un onglet par double-clic *** Protection du classeur - Structure et tu ne pourras plus modifier le nom des feuilles.... le hic, tu ne pourras plus en ajouter sans enlever la protection....
Copie ce qui suit dans le thisworkbook de ton classeur et remplace "Toto" par l'appellation de la propriété "Name" de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de code
Dans cette fenêtre une feuille est désignée ainsi : toto(Menu) "Toto" est la propriété "Name" de l'objet "Feuille" "Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes un nouvel onglet "feuille" de l'application. '------------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) Worksheets(ThisWorkbook.VBProject.VBComponents _ ("Toto").Properties("Index")).Name = "Menu" End Sub '------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans le ThisWorkbook : Cet événement est activé à chaque fois que tu changes la sélection de la cellule active qu'importe la feuille de calcul sur laquelle, tu te retrouves. '------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
| J'arrive au même résultat qu'avec mon code (ou alors j'ai pas tous | compris :/ ) à savoir que l'onglet reprend son nom d'origine uniquement | sur une activation de celui-ci | ce que je cherche à faire c'est en plus de l'activation de l'onglet le | faire aussi en sortant de l'onglet actif
| j'espère avoir été plus clair
Cette procédure s'exécute à chaque fois que tu sélectionnes un nouvel onglet : '-------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
Il y a ces 2 événements du ThisWorkbook '--------------------------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object)
End Sub '--------------------------------- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
End Sub '---------------------------------
MAIS IL N'Y A PAS DANS EXCEL, UNE COMMANDE EXPLICITE POUR EMPÊCHER LA MODIFICATION DU NOM DE L'ONGLET
SUIS-JE ASSEZ CLAIR ?
| Simplement empêcher de renommer un onglet par double-clic
*** Protection du classeur - Structure et tu ne pourras plus
modifier le nom des feuilles.... le hic, tu ne pourras plus
en ajouter sans enlever la protection....
Copie ce qui suit dans le thisworkbook de ton classeur
et remplace "Toto" par l'appellation de la propriété "Name"
de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de
code
Dans cette fenêtre une feuille est désignée ainsi :
toto(Menu)
"Toto" est la propriété "Name" de l'objet "Feuille"
"Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes
un nouvel onglet "feuille" de l'application.
'------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Worksheets(ThisWorkbook.VBProject.VBComponents _
("Toto").Properties("Index")).Name = "Menu"
End Sub
'------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans
le ThisWorkbook :
Cet événement est activé à chaque fois que tu changes
la sélection de la cellule active qu'importe la feuille de
calcul sur laquelle, tu te retrouves.
'-------------------------------
Private Sub Workbook_SheetSelectionChange _
(ByVal Sh As Object, ByVal Target As Range)
| J'arrive au même résultat qu'avec mon code (ou alors j'ai pas tous
| compris :/ ) à savoir que l'onglet reprend son nom d'origine uniquement
| sur une activation de celui-ci
| ce que je cherche à faire c'est en plus de l'activation de l'onglet le
| faire aussi en sortant de l'onglet actif
| j'espère avoir été plus clair
Cette procédure s'exécute à chaque fois que tu sélectionnes
un nouvel onglet :
'--------------------------------
Private Sub Workbook_SheetSelectionChange _
(ByVal Sh As Object, ByVal Target As Range)
| Simplement empêcher de renommer un onglet par double-clic *** Protection du classeur - Structure et tu ne pourras plus modifier le nom des feuilles.... le hic, tu ne pourras plus en ajouter sans enlever la protection....
Copie ce qui suit dans le thisworkbook de ton classeur et remplace "Toto" par l'appellation de la propriété "Name" de l'objet "Feuille" quand tu es dans la fenêtre de l'éditeur de code
Dans cette fenêtre une feuille est désignée ainsi : toto(Menu) "Toto" est la propriété "Name" de l'objet "Feuille" "Menu" est la propriété "Name" de l'onglet de la feuille.
Cet événement est déclenché à chaque fois que tu sélectionnes un nouvel onglet "feuille" de l'application. '------------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) Worksheets(ThisWorkbook.VBProject.VBComponents _ ("Toto").Properties("Index")).Name = "Menu" End Sub '------------------------------
Il y a aussi cet événement qui pourrait être utilisé dans le ThisWorkbook : Cet événement est activé à chaque fois que tu changes la sélection de la cellule active qu'importe la feuille de calcul sur laquelle, tu te retrouves. '------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
| J'arrive au même résultat qu'avec mon code (ou alors j'ai pas tous | compris :/ ) à savoir que l'onglet reprend son nom d'origine uniquement | sur une activation de celui-ci | ce que je cherche à faire c'est en plus de l'activation de l'onglet le | faire aussi en sortant de l'onglet actif
| j'espère avoir été plus clair
Cette procédure s'exécute à chaque fois que tu sélectionnes un nouvel onglet : '-------------------------------- Private Sub Workbook_SheetSelectionChange _ (ByVal Sh As Object, ByVal Target As Range)
tu pourrais gérér uun seul événement dans le cdode de feuille
Private Sub Worksheet_Calculate() If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1" End Sub
'Cordialement.
'-- 'lSteph
Michel (pen ar bed) a écrit :
Bonjour, Le bout de code suivant me permet d'empêcher que la feuille "Menu" soit renommée. Mais j'aimerais que l'action qui se passe sur l'activation de l'onglet se passe aussi sur le changement d'onglet et bien sur je ne trouve pas. J'ai essayé toutes les options de worksheet activate à worksheet SelectionChange sans résultat Merci de l'aide
M.
--------------------------------------------- Private Sub Worksheet_Activate() Dim Vrai_Nom As String Vrai_Nom = "Menu" If ActiveSheet.Name <> Vrai_Nom Then ActiveSheet.Name = Vrai_Nom End If End Sub ----------------------------------------------
Bonjour,
et si tu mettais le nom dans une cellule, exemple a1
tu pourrais gérér uun seul événement dans le cdode de feuille
Private Sub Worksheet_Calculate()
If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1"
End Sub
'Cordialement.
'--
'lSteph
Michel (pen ar bed) a écrit :
Bonjour,
Le bout de code suivant me permet d'empêcher que la feuille "Menu" soit
renommée.
Mais j'aimerais que l'action qui se passe sur l'activation de l'onglet
se passe aussi sur le changement d'onglet et bien sur je ne trouve pas.
J'ai essayé toutes les options de worksheet activate à worksheet
SelectionChange sans résultat
Merci de l'aide
M.
---------------------------------------------
Private Sub Worksheet_Activate()
Dim Vrai_Nom As String
Vrai_Nom = "Menu"
If ActiveSheet.Name <> Vrai_Nom Then
ActiveSheet.Name = Vrai_Nom
End If
End Sub
----------------------------------------------
tu pourrais gérér uun seul événement dans le cdode de feuille
Private Sub Worksheet_Calculate() If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1" End Sub
'Cordialement.
'-- 'lSteph
Michel (pen ar bed) a écrit :
Bonjour, Le bout de code suivant me permet d'empêcher que la feuille "Menu" soit renommée. Mais j'aimerais que l'action qui se passe sur l'activation de l'onglet se passe aussi sur le changement d'onglet et bien sur je ne trouve pas. J'ai essayé toutes les options de worksheet activate à worksheet SelectionChange sans résultat Merci de l'aide
M.
--------------------------------------------- Private Sub Worksheet_Activate() Dim Vrai_Nom As String Vrai_Nom = "Menu" If ActiveSheet.Name <> Vrai_Nom Then ActiveSheet.Name = Vrai_Nom End If End Sub ----------------------------------------------
Michel (pen ar bed)
LSteph a formulé la demande :
Bonjour,
et si tu mettais le nom dans une cellule, exemple a1
tu pourrais gérér uun seul événement dans le cdode de feuille
Private Sub Worksheet_Calculate() If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1" End Sub
Merci, mais comme les feuilles sont totalement dynamique et effacées avant chaque activation il va être nécessaire que je cogite cela pour l'inclure dans le code de la page je vais essayer M.
LSteph a formulé la demande :
Bonjour,
et si tu mettais le nom dans une cellule, exemple a1
tu pourrais gérér uun seul événement dans le cdode de feuille
Private Sub Worksheet_Calculate()
If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1"
End Sub
Merci, mais comme les feuilles sont totalement dynamique et effacées
avant chaque activation il va être nécessaire que je cogite cela pour
l'inclure dans le code de la page
je vais essayer
M.
tu pourrais gérér uun seul événement dans le cdode de feuille
Private Sub Worksheet_Calculate() If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1" End Sub
Merci, mais comme les feuilles sont totalement dynamique et effacées avant chaque activation il va être nécessaire que je cogite cela pour l'inclure dans le code de la page je vais essayer M.
Papyjac
Bonjour Michel,
Ton problème n'est pas que l'on modifie le nom de l'onglet, mais simplement que ton code utilise le nom de l'onglet "en dur" dans ton code.
Pour éviter ce problème, j'utilise un NOM qui pointe sur la totalité de l'onglet et j'accède à l'onglet par ce nom. Du coup je laisse les personnes renommer l'onglet s'ils le veulent
-- Papyjac
"Michel (pen ar bed)" a écrit :
LSteph a formulé la demande : > Bonjour, > > et si tu mettais le nom dans une cellule, exemple a1 > > =STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1);1)+1;999) > > tu pourrais gérér uun seul événement dans le cdode de feuille > > Private Sub Worksheet_Calculate() > If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1" > End Sub > Merci, mais comme les feuilles sont totalement dynamique et effacées avant chaque activation il va être nécessaire que je cogite cela pour l'inclure dans le code de la page je vais essayer M.
Bonjour Michel,
Ton problème n'est pas que l'on modifie le nom de l'onglet, mais simplement
que ton code utilise le nom de l'onglet "en dur" dans ton code.
Pour éviter ce problème, j'utilise un NOM qui pointe sur la totalité de
l'onglet et j'accède à l'onglet par ce nom. Du coup je laisse les personnes
renommer l'onglet s'ils le veulent
--
Papyjac
"Michel (pen ar bed)" a écrit :
LSteph a formulé la demande :
> Bonjour,
>
> et si tu mettais le nom dans une cellule, exemple a1
>
> =STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1);1)+1;999)
>
> tu pourrais gérér uun seul événement dans le cdode de feuille
>
> Private Sub Worksheet_Calculate()
> If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1"
> End Sub
>
Merci, mais comme les feuilles sont totalement dynamique et effacées
avant chaque activation il va être nécessaire que je cogite cela pour
l'inclure dans le code de la page
je vais essayer
M.
Ton problème n'est pas que l'on modifie le nom de l'onglet, mais simplement que ton code utilise le nom de l'onglet "en dur" dans ton code.
Pour éviter ce problème, j'utilise un NOM qui pointe sur la totalité de l'onglet et j'accède à l'onglet par ce nom. Du coup je laisse les personnes renommer l'onglet s'ils le veulent
-- Papyjac
"Michel (pen ar bed)" a écrit :
LSteph a formulé la demande : > Bonjour, > > et si tu mettais le nom dans une cellule, exemple a1 > > =STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1);1)+1;999) > > tu pourrais gérér uun seul événement dans le cdode de feuille > > Private Sub Worksheet_Calculate() > If [a1] <> "Feuil1" Then Feuil1.Name = "Feuil1" > End Sub > Merci, mais comme les feuilles sont totalement dynamique et effacées avant chaque activation il va être nécessaire que je cogite cela pour l'inclure dans le code de la page je vais essayer M.
Michel (pen ar bed)
Papyjac a pensé très fort :
Bonjour Michel,
Ton problème n'est pas que l'on modifie le nom de l'onglet, mais simplement que ton code utilise le nom de l'onglet "en dur" dans ton code.
Ben oui c'est bien ça ;-)
Pour éviter ce problème, j'utilise un NOM qui pointe sur la totalité de l'onglet et j'accède à l'onglet par ce nom. Du coup je laisse les personnes renommer l'onglet s'ils le veulent
Je vais regarder de ce coté en attendant j'ai fait cela (peut être pas trop élégant mais bon ça fonctionne) Dans ThisWorbook j'ai mis ---------------------------------------------------------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sheets(1).Name <> "Menu" Then Sheets(1).Name = "Menu" If Sheets(2).Name <> "Import" Then Sheets(2).Name = "Import" If Sheets(3).Name <> "Tps" Then Sheets(3).Name = "Tps" If Sheets(4).Name <> "Ps" Then Sheets(4).Name = "Ps" If Sheets(5).Name <> "Ms" Then Sheets(5).Name = "Ms" End Sub ------------------------------------------------------------------ M.
Papyjac a pensé très fort :
Bonjour Michel,
Ton problème n'est pas que l'on modifie le nom de l'onglet, mais simplement
que ton code utilise le nom de l'onglet "en dur" dans ton code.
Ben oui c'est bien ça ;-)
Pour éviter ce problème, j'utilise un NOM qui pointe sur la totalité de
l'onglet et j'accède à l'onglet par ce nom. Du coup je laisse les personnes
renommer l'onglet s'ils le veulent
Je vais regarder de ce coté
en attendant j'ai fait cela (peut être pas trop élégant mais bon ça
fonctionne)
Dans ThisWorbook j'ai mis
----------------------------------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sheets(1).Name <> "Menu" Then Sheets(1).Name = "Menu"
If Sheets(2).Name <> "Import" Then Sheets(2).Name = "Import"
If Sheets(3).Name <> "Tps" Then Sheets(3).Name = "Tps"
If Sheets(4).Name <> "Ps" Then Sheets(4).Name = "Ps"
If Sheets(5).Name <> "Ms" Then Sheets(5).Name = "Ms"
End Sub
------------------------------------------------------------------
M.
Ton problème n'est pas que l'on modifie le nom de l'onglet, mais simplement que ton code utilise le nom de l'onglet "en dur" dans ton code.
Ben oui c'est bien ça ;-)
Pour éviter ce problème, j'utilise un NOM qui pointe sur la totalité de l'onglet et j'accède à l'onglet par ce nom. Du coup je laisse les personnes renommer l'onglet s'ils le veulent
Je vais regarder de ce coté en attendant j'ai fait cela (peut être pas trop élégant mais bon ça fonctionne) Dans ThisWorbook j'ai mis ---------------------------------------------------------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sheets(1).Name <> "Menu" Then Sheets(1).Name = "Menu" If Sheets(2).Name <> "Import" Then Sheets(2).Name = "Import" If Sheets(3).Name <> "Tps" Then Sheets(3).Name = "Tps" If Sheets(4).Name <> "Ps" Then Sheets(4).Name = "Ps" If Sheets(5).Name <> "Ms" Then Sheets(5).Name = "Ms" End Sub ------------------------------------------------------------------ M.
michdenis
| en attendant j'ai fait cela (peut être pas trop élégant | mais bon ça fonctionne) | Dans ThisWorbook j'ai mis
**** ET QUE SE PASSE-T-IL SI UN USAGER CHANGE L'ORDRE DES FEUILLES DANS TON CLASSEUR ? **** Je te suggère de relire mon premier message sur ce fil à propos de l'utilisation de la propriété "Name" de l'objet de la feuille !!!
| en attendant j'ai fait cela (peut être pas trop élégant
| mais bon ça fonctionne)
| Dans ThisWorbook j'ai mis
**** ET QUE SE PASSE-T-IL SI UN USAGER CHANGE
L'ORDRE DES FEUILLES DANS TON CLASSEUR ?
**** Je te suggère de relire mon premier message sur ce
fil à propos de l'utilisation de la propriété "Name" de
l'objet de la feuille !!!
| en attendant j'ai fait cela (peut être pas trop élégant | mais bon ça fonctionne) | Dans ThisWorbook j'ai mis
**** ET QUE SE PASSE-T-IL SI UN USAGER CHANGE L'ORDRE DES FEUILLES DANS TON CLASSEUR ? **** Je te suggère de relire mon premier message sur ce fil à propos de l'utilisation de la propriété "Name" de l'objet de la feuille !!!
Michel (pen ar bed)
michdenis a formulé la demande :
**** ET QUE SE PASSE-T-IL SI UN USAGER CHANGE L'ORDRE DES FEUILLES DANS TON CLASSEUR ? **** Je te suggère de relire mon premier message sur ce fil à propos de l'utilisation de la propriété "Name" de l'objet de la feuille !!!
Oui je sais, j'ai fais l'essai, mais pour l'instant et pris par le temps ;-)
michdenis a formulé la demande :
**** ET QUE SE PASSE-T-IL SI UN USAGER CHANGE
L'ORDRE DES FEUILLES DANS TON CLASSEUR ?
**** Je te suggère de relire mon premier message sur ce
fil à propos de l'utilisation de la propriété "Name" de
l'objet de la feuille !!!
Oui je sais, j'ai fais l'essai, mais pour l'instant et pris par le
temps ;-)
**** ET QUE SE PASSE-T-IL SI UN USAGER CHANGE L'ORDRE DES FEUILLES DANS TON CLASSEUR ? **** Je te suggère de relire mon premier message sur ce fil à propos de l'utilisation de la propriété "Name" de l'objet de la feuille !!!
Oui je sais, j'ai fais l'essai, mais pour l'instant et pris par le temps ;-)