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

[VBA] récupérer le nom d'un nouvel onglet du ruban

Aucune réponse
Avatar
JièL
Salutatousses

si un utilisateur personnalise manuellement le ruban (excel 2010),
comment puis-je récupérer le nom du nouvel onglet ?
Accessoirement son contenu aussi dans un second temps.

Bizarrement, cette macro ne me donne pas le nom du nouvel onglet

Sub nomcommande()
i = 1
For Each Cbar In CommandBars
Cells(i, 1) = Cbar.Name
Cells(i, 2) = Cbar.NameLocal
Cells(i, 3) = Cbar.Visible
i = i + 1
Next
End Sub

je suppose donc que commandbars ne contient pas les onglets créés
manuellement, mais si c'est pas commandbars, c'est quoi ?

Merci d'avance

--
JièL

9 réponses

Avatar
MichD
Bonjour,

À chaque fois que l'usager crée une nouvelle feuille,
cette procédure événementielle du ThisWorkbook s'exécute.
Les lignes de code suivantes font le travail que tu cherches!

Private Sub Workbook_NewSheet(ByVal Sh As Object)
MsgBox Sh.Name 'Nom de l'onglet de la feuille de calcul.

'L'utilisation du "CodeName" demeure le même dans le cas où l'usager
'décide de modifier le nom de l'onglet... c'est un avantage certain!
MsgBox Sh.CodeName 'propriété Name de l'objet feuille de calcul

'Si tu extrais la propriété "CodName" et que tu veux obtenir
'Le nom de l'onglet :
MsgBox Worksheets(ThisWorkbook.VBProject.VBComponents("Toto" &
A).Properties("Index")).Name
End Sub





MichD
---------------------------------------------------------------
"JièL" a écrit dans le message de groupe de discussion :
n1l42q$bs7$

Salutatousses

si un utilisateur personnalise manuellement le ruban (excel 2010),
comment puis-je récupérer le nom du nouvel onglet ?
Accessoirement son contenu aussi dans un second temps.

Bizarrement, cette macro ne me donne pas le nom du nouvel onglet

Sub nomcommande()
i = 1
For Each Cbar In CommandBars
Cells(i, 1) = Cbar.Name
Cells(i, 2) = Cbar.NameLocal
Cells(i, 3) = Cbar.Visible
i = i + 1
Next
End Sub

je suppose donc que commandbars ne contient pas les onglets créés
manuellement, mais si c'est pas commandbars, c'est quoi ?

Merci d'avance

--
JièL
Avatar
isabelle
heu! Denis, la soirée a été dur hier ?
le monsieur parlait d'un onglet du ruban... (menu personnalisé)
;-)
isabelle

Le 2015-11-07 15:05, MichD a écrit :
Bonjour,

À chaque fois que l'usager crée une nouvelle feuille,
cette procédure événementielle du ThisWorkbook s'exécute.
Les lignes de code suivantes font le travail que tu cherches!

Private Sub Workbook_NewSheet(ByVal Sh As Object)
MsgBox Sh.Name 'Nom de l'onglet de la feuille de calcul.

'L'utilisation du "CodeName" demeure le même dans le cas où l'usager
'décide de modifier le nom de l'onglet... c'est un avantage certain!
MsgBox Sh.CodeName 'propriété Name de l'objet feuille de calcul

'Si tu extrais la propriété "CodName" et que tu veux obtenir
'Le nom de l'onglet :
MsgBox Worksheets(ThisWorkbook.VBProject.VBComponents("Toto" &
A).Properties("Index")).Name
End Sub





MichD
---------------------------------------------------------------
"JièL" a écrit dans le message de groupe de discussion :
n1l42q$bs7$

Salutatousses

si un utilisateur personnalise manuellement le ruban (excel 2010),
comment puis-je récupérer le nom du nouvel onglet ?
Accessoirement son contenu aussi dans un second temps.

Bizarrement, cette macro ne me donne pas le nom du nouvel onglet

Sub nomcommande()
i = 1
For Each Cbar In CommandBars
Cells(i, 1) = Cbar.Name
Cells(i, 2) = Cbar.NameLocal
Cells(i, 3) = Cbar.Visible
i = i + 1
Next
End Sub

je suppose donc que commandbars ne contient pas les onglets créés
manuellement, mais si c'est pas commandbars, c'est quoi ?

Merci d'avance

Avatar
MichD
Bonjour Isabelle,

Si le monsieur veut jouer avec le ruban, la référence est à cette adresse où tu peux
trouver même ce que tu ne veux pas sur le sujet avec fichier exemple...

http://www.rondebruin.nl/search.htm
Avatar
JièL
heum...

"le monsieur" ne voulait pas "jouer avec le ruban", juste récupérer le
nom d'un onglet créé manuellement par un utilisateur dans ce fameux "ruban"

J'avais bien trouvé le site de Ron de Bruin, mais il n'est pas vraiment
didactique et un poil toufu pour moi (outre le fait qu'il ne cause pas
le FR)

Ce genre de réponse "http://www.rondebruin.nl/search.htm" me fait penser
à qqchose du genre "google est ton ami" et à partir de là, ben les
newsgroups n'ont plus aucune utilités si c'est pour t'envoyer chercher
par toi même.

Je reconnais que la question sort de l'ordinaire et doit être plus
compliqué que d'habitude, désolé.

Bon, ben je vais tacher de me débrouiller, merci quand même.

--
JièL alone


Le 08/11/2015 12:27, MichD a écrit :
Bonjour Isabelle,

Si le monsieur veut jouer avec le ruban, la référence est à cette
adresse où tu peux
trouver même ce que tu ne veux pas sur le sujet avec fichier exemple...

http://www.rondebruin.nl/search.htm
Avatar
Péhemme
Bonjour Jean-Louis,

On peut récupérer le nom du bouton par son ID voire son Tag, mais le nom
d'un onglet je ne sais pas.
J'ai essayé avec des "parent.control.id" mais cela ne fonctionne pas.
Bonne journée
Michel


"JièL" a écrit dans le message de groupe de discussion :
n1pqjf$vlq$

heum...

"le monsieur" ne voulait pas "jouer avec le ruban", juste récupérer le
nom d'un onglet créé manuellement par un utilisateur dans ce fameux "ruban"

J'avais bien trouvé le site de Ron de Bruin, mais il n'est pas vraiment
didactique et un poil toufu pour moi (outre le fait qu'il ne cause pas
le FR)

Ce genre de réponse "http://www.rondebruin.nl/search.htm" me fait penser
à qqchose du genre "google est ton ami" et à partir de là, ben les
newsgroups n'ont plus aucune utilités si c'est pour t'envoyer chercher
par toi même.

Je reconnais que la question sort de l'ordinaire et doit être plus
compliqué que d'habitude, désolé.

Bon, ben je vais tacher de me débrouiller, merci quand même.

--
JièL alone


Le 08/11/2015 12:27, MichD a écrit :
Bonjour Isabelle,

Si le monsieur veut jouer avec le ruban, la référence est à cette
adresse où tu peux
trouver même ce que tu ne veux pas sur le sujet avec fichier exemple...

http://www.rondebruin.nl/search.htm
Avatar
MichD
Le ruban n'est pas facilement accessible. Rien de comparable avec les anciennes barres de menu.

VBA ne sait pas faire une boucle sur les contrôles du ruban!

Pour sélectionner un menu du ruban, il n'y a que la commande "SendKeys" qui sait faire. Fantastique!

Comme il n'existe rien de simple afin d'obtenir le résultat que tu cherches, je n'ai pas envie
et je n'ai pas de temps d'essayer de voir si on ne pourrait pas trafiquer le fichier customUI.xml du
classeur
afin d'extraire l'information que tu désires. On n'est pas en VBA mais en XML...

Le site proposé est le meilleur qui soit pour le boulot que tu veux faire...Il faut y mettre le
temps... au moins
quelques jours... Pour la langue, il y a toujours Google ou Bing pour en faire la traduction...oui
oui je sais que
le résultat n'est pas toujours à la hauteur de nos attentes...
Avatar
MichD
Pour le site de Ron, tu peux aller directement à cette adresse :
http://www.rondebruin.nl/win/s2/win003.htm
Avatar
JièL
Hello Michel (ça faisait longtemps ;-D)

merci de t'être penché sur le pb
J'ai peut être une autre piste, je vous tiens au courant une fois que
j'aurais testé

--
JièL

Le 09/11/2015 12:37, Péhemme a écrit :
Bonjour Jean-Louis,

On peut récupérer le nom du bouton par son ID voire son Tag, mais le nom
d'un onglet je ne sais pas.
J'ai essayé avec des "parent.control.id" mais cela ne fonctionne pas.
Bonne journée
Michel


"JièL" a écrit dans le message de groupe de discussion :
n1pqjf$vlq$

heum...

"le monsieur" ne voulait pas "jouer avec le ruban", juste récupérer le
nom d'un onglet créé manuellement par un utilisateur dans ce fameux "ruban"

J'avais bien trouvé le site de Ron de Bruin, mais il n'est pas vraiment
didactique et un poil toufu pour moi (outre le fait qu'il ne cause pas
le FR)

Ce genre de réponse "http://www.rondebruin.nl/search.htm" me fait penser
à qqchose du genre "google est ton ami" et à partir de là, ben les
newsgroups n'ont plus aucune utilités si c'est pour t'envoyer chercher
par toi même.

Je reconnais que la question sort de l'ordinaire et doit être plus
compliqué que d'habitude, désolé.

Bon, ben je vais tacher de me débrouiller, merci quand même.

Avatar
JièL
Le 09/11/2015 12:54, MichD a écrit :
Le ruban n'est pas facilement accessible. Rien de comparable avec les
anciennes barres de menu.



voui, j'ai vu

VBA ne sait pas faire une boucle sur les contrôles du ruban!



Je sais pas lequel est le plus nul : le VBA qui n'évolue pas ou le ruban
qui ne se laisse pas gérer

Pour sélectionner un menu du ruban, il n'y a que la commande "SendKeys"
qui sait faire. Fantastique!



Argh... Mais ça ne me donnerait pas le nom quand même

Comme il n'existe rien de simple afin d'obtenir le résultat que tu
cherches, je n'ai pas envie
et je n'ai pas de temps d'essayer de voir si on ne pourrait pas
trafiquer le fichier customUI.xml du classeur
afin d'extraire l'information que tu désires. On n'est pas en VBA mais
en XML...



Merci quand même, ça me donne quand même une piste

Le site proposé est le meilleur qui soit pour le boulot que tu veux
faire...Il faut y mettre le temps... au moins
quelques jours... Pour la langue, il y a toujours Google ou Bing pour en
faire la traduction...oui oui je sais que
le résultat n'est pas toujours à la hauteur de nos attentes...



Je vais essayer quand même.

Merci

--
JièL