Enregistrer données de tous les controles(150) d'un userform

ninieee

XLDnaute Nouveau
Bonjour,
Je ne trouve pas comment faire une boucle pour enregistrer toutes les données de mon userform. Il contient des comboboxs, des optionbuttons, des textboxs en grande quantité et je voudrais trouver comment faire défiler dans une boucle tous les controls un par un.
Enfin j'ai un début de boucle mais mon souci est de trouver le nombre de combobox, le nombre de textbox, etc...
Car en imaginant que ce formulaire évolue il faut ensuite que je puisse avec une option rechercher remettre les données dans les bonnes cases.
Merci de votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer données de tous les controles(150) d'un userform

Bonjour,

regarde peut être ceci, à placer dans le module de l'usf :
Code:
Dim c As Control
For Each c In Me.Controls
    MsgBox TypeName(c) & vbLf & "Nom : " & c.Name
Next c

mais comme je vois pas ce que tu veux faire exactement....

bon après midi
@+
 

RENAUDER

Nous a quitté
Repose en paix
Re : Enregistrer données de tous les controles(150) d'un userform

Bonjour,
En complément de Pierrot
Pour les TextBox
Code:
Dim i As Integer
For Each ctrl In Me.Controls
    If TypeOf ctrl Is MSForms.TextBox Then
      Cells(i, 1) = ctrl
    End If
Next ctrl
 

Jam

XLDnaute Accro
Re : Enregistrer données de tous les controles(150) d'un userform

Bonjour ninieee, Re Pierrot ;) , Renauder,
Car en imaginant que ce formulaire évolue il faut ensuite que je puisse avec une option rechercher remettre les données dans les bonnes cases.

A te lire, je ne suis pas certain que lister tous les contrôles soit pertinent. En effet, si tu dois rajouter des controls dans ton usf tu n'oublieras pas de leur donner un petit nom parlant (dans la feuille de propriété dans l'éditeur VBE). Avec ce petit nom tu pourras y accéder simplement et leur transmettre la valeur/information que tu souhaites.
Les soluces proposées par Pierrot et Renauder sont nickels, mais ton problème est que tu as de multiples controls qui ont tous des propriétés différentes certains n'acceptant pas de texte, mais une valeur, etc... Le mieux serait certainement de cibler les controls que tu veux tester (je ne suis pas certain qu'il y ait un intérêt à tester le bouton OK que tu as certainement mis dans ton USF pour le fermer :) ), via des boucles pour ensuite récupérer la bonne info.

Bon courage,
 

Bebere

XLDnaute Barbatruc
Re : Enregistrer données de tous les controles(150) d'un userform

bonjour Ninieee,Pierrot,Jam,Renauder
autre suggestion tu fais tes choix avec combobox,lisbox,optionbutton,etc
qui vont dans les textbox et tu n'as qu'une boucle textbox
 

ninieee

XLDnaute Nouveau
Re : Enregistrer données de tous les controles(150) d'un userform

Bonjour,
merci Renauder c'est exactement ce que je voulais, il me manquait le .controls après le ME, a des fois quand on bloque :)
Je voulais bien lister tous les controls, il faut que j'enregistre dans la base, toutes les infos et que je puisse aller les chercher ensuite, donc cette solution me semble la plus simple et la plus rapide.
Merci encore, vous êtes trop fort!
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 082
Membres
103 112
dernier inscrit
cuq-laet