Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

45 views
Skip to first unread message

JièL

unread,
Nov 7, 2015, 10:07:10 AM11/7/15
to
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

MichD

unread,
Nov 7, 2015, 3:08:16 PM11/7/15
to
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$1...@speranza.aioe.org...

isabelle

unread,
Nov 7, 2015, 4:20:33 PM11/7/15
to
heu! Denis, la soirée a été dur hier ?
le monsieur parlait d'un onglet du ruban... (menu personnalisé)
;-)
isabelle

MichD

unread,
Nov 8, 2015, 6:30:25 AM11/8/15
to
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

antoinedurand

unread,
Nov 8, 2015, 9:27:04 AM11/8/15
to
Le samedi 07 Novembre 2015 à 21:05 par 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
Plus de 10 années d’expérience pour une qualité de service encore plus
grande.Nous sommes un groupe qui offre des prêts à toutes personnes qui sont
dans le besoins sur un taux d'intérêt de 3% l'an. Contactez-nous dès
aujourd'hui et faites nous savoir le montant d'argent que vous voulez prêter.
Nous sommes disposé à vous satisfaire en 72h. Notre groupe se trouvant en FRANCE
et un peux par tout. Nous ignorons de vos usages et nos transferts sont
assurés par une banque pour la sécurité de la transaction. Pour toutes vos
demandes faites propositions par rapport aux taux et aux échelonnements de
paiements et on répond à votre aide .
antoined...@gmail.com

antoinedurand

unread,
Nov 8, 2015, 9:27:05 AM11/8/15
to
Le samedi 07 Novembre 2015 à 22:20 par isabelle :
>> 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

antoinedurand

unread,
Nov 8, 2015, 9:27:25 AM11/8/15
to
Le samedi 07 Novembre 2015 à 22:20 par isabelle :
>> 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

antoinedurand

unread,
Nov 8, 2015, 9:29:18 AM11/8/15
to
Le samedi 07 Novembre 2015 à 16:07 par JièL :

antoinedurand

unread,
Nov 8, 2015, 9:30:14 AM11/8/15
to
Le dimanche 08 Novembre 2015 à 12:27 par MichD :

JièL

unread,
Nov 9, 2015, 4:56:04 AM11/9/15
to
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

Péhemme

unread,
Nov 9, 2015, 6:37:43 AM11/9/15
to
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$1...@speranza.aioe.org...

MichD

unread,
Nov 9, 2015, 6:57:33 AM11/9/15
to
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

unread,
Nov 9, 2015, 7:03:39 AM11/9/15
to

Pour le site de Ron, tu peux aller directement à cette adresse :
http://www.rondebruin.nl/win/s2/win003.htm

JièL

unread,
Nov 9, 2015, 1:19:38 PM11/9/15
to
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

JièL

unread,
Nov 9, 2015, 1:22:13 PM11/9/15
to
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

0 new messages