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

  • Initiateur de la discussion Initiateur de la discussion ninieee
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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
@+
 
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
 
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,
 
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!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
3 K
Retour