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

Nom par défaut des onglets

10 réponses
Avatar
Lemg
Bonjour,

Je veux créer une macro qui masque et demasque des onglets cependant il est
possible que les noms des onglets changent. Si c'est le cas, je voudrais que
ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
défault?

Merci

10 réponses

Avatar
MichDenis
Bonjour Lemg,

Si tu regardes dans la fenêtre de l'éditeur de code,
les objets du projetVBA sont écrits de cette manière
lorsqu'il s'agit de feuille de calcul :
Feuil1(Feuil1)
Feuil1 représente la propriété Name de l'objet "Feuille"
(Feuil1) représente le nom de l'onglet de la feuille.

La propriété "Name" ne change pas même lorsque l'usager
modifie le nom de l'onglet de la feuille de calcul.

Pour coder, tu peux utiliser la propriété Name de cette manière
Feuil1.Visible = xlveryhidden
Cette dernère ligne de code (utilisant la propriété name) est équivalent
à la ligne de code suivante utilisant le nom de l'onglet de la feuille :
Worksheets("Feuil1").visible = xlveryHidden



"Lemg" a écrit dans le message de groupe de discussion :

Bonjour,

Je veux créer une macro qui masque et demasque des onglets cependant il est
possible que les noms des onglets changent. Si c'est le cas, je voudrais que
ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
défault?

Merci
Avatar
Jacky
Bonsoir,

Est-ce que les onglets ont un nom par défault?


Oui, le code name de la feuille.
Que l'on peut voir dans l'éditeur Vb
Alt+F11
Dans la fenêtre de l'explorateur de projet(Ctrl+R si celui-ci n'est pas
afficher)
Les feuilles sont représentées de cette façon
Feuil1(Feuil1)
ou
Feuil1(LeNomQuiLuiAétéDonnée)
Feuil1(celui de gauche) = le code name de la feuille (inchangeable)
(Feuil1) ou (LeNomQuiLuiAétéDonné) =le nom (modifiable) que l'on donne à la
feuille
'---------
Ceci
Feuil2.Visibleúlse
Masque la Feuil2 quelque soit son nom
Feuil2.Visible=true
La rendra à nouveau visible
'------------------
Sub jj1()
Feuil2.Visible = Abs(Feuil2.Visible) = False
End Sub
'-----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200909/cijPhgA6Cw.xls
--
Salutations
JJ


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

Bonjour,

Je veux créer une macro qui masque et demasque des onglets cependant il
est
possible que les noms des onglets changent. Si c'est le cas, je voudrais
que
ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
défault?

Merci


Avatar
Jacky
Pfffff...
Même que l'on peut se passer de l'abs
'----------------
Sub jj1()
Feuil2.Visible = Feuil2.Visible = False
End Sub
'----------------
--
Salutations
JJ


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

Bonsoir,

Est-ce que les onglets ont un nom par défault?


Oui, le code name de la feuille.
Que l'on peut voir dans l'éditeur Vb
Alt+F11
Dans la fenêtre de l'explorateur de projet(Ctrl+R si celui-ci n'est pas
afficher)
Les feuilles sont représentées de cette façon
Feuil1(Feuil1)
ou
Feuil1(LeNomQuiLuiAétéDonnée)
Feuil1(celui de gauche) = le code name de la feuille (inchangeable)
(Feuil1) ou (LeNomQuiLuiAétéDonné) =le nom (modifiable) que l'on donne à
la feuille
'---------
Ceci
Feuil2.Visibleúlse
Masque la Feuil2 quelque soit son nom
Feuil2.Visible=true
La rendra à nouveau visible
'------------------
Sub jj1()
Feuil2.Visible = Abs(Feuil2.Visible) = False
End Sub
'-----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200909/cijPhgA6Cw.xls
--
Salutations
JJ


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

Bonjour,

Je veux créer une macro qui masque et demasque des onglets cependant il
est
possible que les noms des onglets changent. Si c'est le cas, je voudrais
que
ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
défault?

Merci






Avatar
FS
Bonjour,

> Feuil1(celui de gauche) = le code name de la feuille (inchangeable)

En fait si (malgré ce que l'aide en dit) !
D'abord "à la main" : dans la fenêtre 'Propriétés' du projet la
propriété (Name) peut être modifiée.
Et on peut le coder également :

'================ Sub essai()
MsgBox Sheets(1).CodeName
ThisWorkbook.VBProject.VBComponents("Feuil1"). _
CodeModule.Name = "FeuilTest"
MsgBox Sheets(1).CodeName
End Sub
'================
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Jacky a écrit :
Bonsoir,

Est-ce que les onglets ont un nom par défault?


Oui, le code name de la feuille.
Que l'on peut voir dans l'éditeur Vb
Alt+F11
Dans la fenêtre de l'explorateur de projet(Ctrl+R si celui-ci n'est pas
afficher)
Les feuilles sont représentées de cette façon
Feuil1(Feuil1)
ou
Feuil1(LeNomQuiLuiAétéDonnée)
Feuil1(celui de gauche) = le code name de la feuille (inchangeable)
(Feuil1) ou (LeNomQuiLuiAétéDonné) =le nom (modifiable) que l'on donne à la
feuille
'---------
Ceci
Feuil2.Visibleúlse
Masque la Feuil2 quelque soit son nom
Feuil2.Visible=true
La rendra à nouveau visible
'------------------
Sub jj1()
Feuil2.Visible = Abs(Feuil2.Visible) = False
End Sub
'-----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200909/cijPhgA6Cw.xls


Avatar
Patrice Dargenton
Bonjour, si le nom des feuilles peut changer alors utilise leur index (mais
l'ordre des feuilles ne doit pas changer dans ce cas) :

Sheets("Feuil1").Select
Sheets("Feuil2").Select
Sheets("Feuil3").Select

est équivalent à :

Sheets(1).Select
Sheets(2).Select
Sheets(3).Select

-------------------------------------------------------
Patrice Dargenton

http://patrice.dargenton.free.fr/index.html
-------------------------------------------------------

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

Bonjour,

Je veux créer une macro qui masque et demasque des onglets cependant il
est
possible que les noms des onglets changent. Si c'est le cas, je voudrais
que
ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
défault?

Merci


Avatar
Jacky
Bonjour Fréderic

Oui, j'ai complètement oublié cela.
Il y a t'il un moyen infaillible pour dénouer ce problème et par là,
résoudre celui de Lemg ??
--
Salutations
JJ


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

Bonjour,

> Feuil1(celui de gauche) = le code name de la feuille (inchangeable)

En fait si (malgré ce que l'aide en dit) !
D'abord "à la main" : dans la fenêtre 'Propriétés' du projet la propriété
(Name) peut être modifiée.
Et on peut le coder également :

'================ > Sub essai()
MsgBox Sheets(1).CodeName
ThisWorkbook.VBProject.VBComponents("Feuil1"). _
CodeModule.Name = "FeuilTest"
MsgBox Sheets(1).CodeName
End Sub
'================ >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Jacky a écrit :
Bonsoir,

Est-ce que les onglets ont un nom par défault?


Oui, le code name de la feuille.
Que l'on peut voir dans l'éditeur Vb
Alt+F11
Dans la fenêtre de l'explorateur de projet(Ctrl+R si celui-ci n'est pas
afficher)
Les feuilles sont représentées de cette façon
Feuil1(Feuil1)
ou
Feuil1(LeNomQuiLuiAétéDonnée)
Feuil1(celui de gauche) = le code name de la feuille (inchangeable)
(Feuil1) ou (LeNomQuiLuiAétéDonné) =le nom (modifiable) que l'on donne à
la feuille
'---------
Ceci
Feuil2.Visibleúlse
Masque la Feuil2 quelque soit son nom
Feuil2.Visible=true
La rendra à nouveau visible
'------------------
Sub jj1()
Feuil2.Visible = Abs(Feuil2.Visible) = False
End Sub
'-----------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200909/cijPhgA6Cw.xls




Avatar
FS
Salut Jacky

Infaillible sans doute pas mais comme il est malgré tout assez rare
d'aller modifier le codename d'une feuille, je crois que cette approche
reste la meilleure.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Jacky a écrit :
Bonjour Fréderic

Oui, j'ai complètement oublié cela.
Il y a t'il un moyen infaillible pour dénouer ce problème et par là,
résoudre celui de Lemg ??


Avatar
Jacky
Bonjour,

est aussi équivalent à :

Feuil1.Select
Feuil2.Select
Feuil3.Select

Avec l'avantage que les feuilles peuvent être renommées ou déplacées
--
Salutations
JJ


"Patrice Dargenton" a écrit dans le message de
news: 4a9ceeac$0$9368$
Bonjour, si le nom des feuilles peut changer alors utilise leur index
(mais
l'ordre des feuilles ne doit pas changer dans ce cas) :

Sheets("Feuil1").Select
Sheets("Feuil2").Select
Sheets("Feuil3").Select

est équivalent à :

Sheets(1).Select
Sheets(2).Select
Sheets(3).Select

-------------------------------------------------------
Patrice Dargenton

http://patrice.dargenton.free.fr/index.html
-------------------------------------------------------

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

Bonjour,

Je veux créer une macro qui masque et demasque des onglets cependant il
est
possible que les noms des onglets changent. Si c'est le cas, je voudrais
que
ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
défault?

Merci







Avatar
Lemg
Merci à tous !

"Jacky" a écrit :

Bonjour,

est aussi équivalent à :

Feuil1.Select
Feuil2.Select
Feuil3.Select

Avec l'avantage que les feuilles peuvent être renommées ou déplacées
--
Salutations
JJ


"Patrice Dargenton" a écrit dans le message de
news: 4a9ceeac$0$9368$
> Bonjour, si le nom des feuilles peut changer alors utilise leur index
> (mais
> l'ordre des feuilles ne doit pas changer dans ce cas) :
>
> Sheets("Feuil1").Select
> Sheets("Feuil2").Select
> Sheets("Feuil3").Select
>
> est équivalent à :
>
> Sheets(1).Select
> Sheets(2).Select
> Sheets(3).Select
>
> -------------------------------------------------------
> Patrice Dargenton
>
> http://patrice.dargenton.free.fr/index.html
> -------------------------------------------------------
>
> "Lemg" a écrit dans le message de news:
>
>> Bonjour,
>>
>> Je veux créer une macro qui masque et demasque des onglets cependant il
>> est
>> possible que les noms des onglets changent. Si c'est le cas, je voudrais
>> que
>> ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
>> défault?
>>
>> Merci
>
>
>





Avatar
Patrice Dargenton
Exact ! si on renomme une feuille depuis l'interface, sa propriété Name est
modifiée, mais pas sa propriété (Name) ce qui fait que le code VBA est
inchangé, bien joué !
-------------------------------------------------------
Patrice Dargenton

http://patrice.dargenton.free.fr/index.html
-------------------------------------------------------

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

Bonjour,

est aussi équivalent à :

Feuil1.Select
Feuil2.Select
Feuil3.Select

Avec l'avantage que les feuilles peuvent être renommées ou déplacées
--
Salutations
JJ


"Patrice Dargenton" a écrit dans le message de
news: 4a9ceeac$0$9368$
Bonjour, si le nom des feuilles peut changer alors utilise leur index
(mais
l'ordre des feuilles ne doit pas changer dans ce cas) :

Sheets("Feuil1").Select
Sheets("Feuil2").Select
Sheets("Feuil3").Select

est équivalent à :

Sheets(1).Select
Sheets(2).Select
Sheets(3).Select

-------------------------------------------------------
Patrice Dargenton

http://patrice.dargenton.free.fr/index.html
-------------------------------------------------------

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

Bonjour,

Je veux créer une macro qui masque et demasque des onglets cependant il
est
possible que les noms des onglets changent. Si c'est le cas, je
voudrais
que
ma macro continue de fonctionner. Est-ce que les onglets ont un nom par
défault?

Merci