Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/03/2007, 14h51   #1
Membre à l'essai
 
Inscription : août 2004
Messages : 110
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 110
Points : 21
Points : 21
Par défaut [VBA] récupérer tout les noms des propriétés d'un objet

Bonjour,

J'ai un formulaire qui est composé avec des textbox, combobox et autres propriétés. Je voudrai pouvoir faire un boucle dans laquelle je pourrais récupérer automatiquement le nom de chacune de ces textbox,... afin de les placer dans un tableau de string. Est-ce possible, si oui quelq'un pourrait-il me donner une piste svp?


Merci d'avance
ooyeah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 14h59   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 924
Points : 30 924
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Il faut faire un parcours de la collection

Code :
1
2
3
4
5
6
7
 
Dim ctrl As Control
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Then
            ctrl.Name
        End If
    Next ctrl
Il faut donc faire une boucle de ce type pour récupérer les noms des textbox

A l'intèrieur de ta boucle met un tableau

Je viens d'écrire le code à la main, pas testé de tête

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h06   #3
Membre à l'essai
 
Inscription : août 2004
Messages : 110
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 110
Points : 21
Points : 21
Merci je n'ai vu ceci qu'apres avoir posté le message, désolé pour le dérangement.
ooyeah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h23   #4
Candidat au titre de Membre du Club
 
Inscription : mars 2005
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 31
Points : 14
Points : 14
C'est pas grave, je vais profiter de ton poste car j'ai un peu une question similaire...

Sur la base du code de Starec qui marche très bien pour parcourir les contrôles d'une collection, je voudrais en connaitre un peu plus sur l'utilisation de TypeOf.
Quand je suis en debug pas à pas et que j'affiche les variables locales, j'ai des types du genre Variant/Object/ListBox ; Variant/Object/TextBox ; Variant/Object/OptionButton ; etc ...
Mais Excel ne détecte pas le type ListBox, TextBox, OptionButton... Comment contourner ce problème ou bien quelle est l'explication ?

Merci
dilkas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h38   #5
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 924
Points : 30 924
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

c'est une transposition d'un code VB et Access, pour Excel les contrôles font partie de MSForms, il faut donc transformer le code :

Code :
1
2
3
4
5
6
7
 
Dim ctrl As Control
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is MsForms.TextBox Then
            ctrl.Name
        End If
    Next ctrl
Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 15h57   #6
Candidat au titre de Membre du Club
 
Inscription : mars 2005
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 31
Points : 14
Points : 14
Et ben voilà l'explication que j'attendais !!!
Le code marche nickel pour Excel aussi !

Faut le savoir !
dilkas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 16h17   #7
Membre à l'essai
 
Inscription : août 2004
Messages : 110
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 110
Points : 21
Points : 21
Merci, je vais l'esayer
ooyeah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h49.


 
 
 
 
Partenaires

Hébergement Web