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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26376470
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
isabelle
Le #26376476
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

MichD
Le #26376529
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
JièL
Le #26376667
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
Péhemme
Le #26376688
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
MichD
Le #26376695
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...
MichD
Le #26376696
Pour le site de Ron, tu peux aller directement à cette adresse :
http://www.rondebruin.nl/win/s2/win003.htm
JièL
Le #26376782
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.

JièL
Le #26376781
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
Publicité
Poster une réponse
Anonyme