Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

renuméroter les ctrl d'un USF

  • Initiateur de la discussion Initiateur de la discussion jf27
  • 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 !

jf27

XLDnaute Occasionnel
bonjour,

je boucle sur tous les ctrl d'un usf pour remplir une ligne.
Comment puis avoir accès au N° d'un contrôle du userform et modifier ce N° pour être sur que le Xème ctrl porte bien le N°X


Par avance merci


Cordialement
jf27
 
Re : renuméroter les ctrl d'un USF

bonjour,
Les contrôles ont un N° inscrit dans leur propriété TabIndex.
Tu peux aussi jouer avec Ordre de tabulation du menu Affcihe de l'éditeur VBE
 
Re : renuméroter les ctrl d'un USF

bonjour Eric,

mais tab index sont bien correct mais apparemment ce n'est pas le N° de ctrl?

je m'explique je faits:

Sheets("Raw_Database").Activate
ActiveSheet.Unprotect
Ligne = Range("A65536").End(xlUp).Row + 1
Colonne = 1

For Each ctr In UserForm.Controls
If TypeName(ctr) = "textbox" Then
Cells(Ligne, Colonne).Value = ctr.Value
Colonne = Colonne + 1
End If
If TypeName(ctr) = "combobox" Then
Cells(Ligne, Colonne).Value = ctr.Value
Colonne = Colonne + 1
End If

Next ctr

mais les ctrl ne sont pas pris dans l'ordre des tabulations, mais je pense dans l'ordre de création. Mais je ne sais pas avoir accès à cette numérotation???
Est ce plus clair?
Cordialement
jf27
 
Re : renuméroter les ctrl d'un USF

Bonjour,

as-tu essayé de changer le nom des contrôles ?
Par exemple, quand tu as choisi l'affichage de l'USF, TextbBox1 devient Textbox2 dans la fenêtre des propriétés et dans les macros éventuelles.
 
Re : renuméroter les ctrl d'un USF

merci pour les infos, mais cela ne fonctionne pas mieux.
Cela balaye bien les controles et change le nom mais lorsque je fait


j'ai l'impression que l'ordre gardé pour la numérotation est celui de la création initiale et comme j'ai ensuite déplacé les text box, je ne suis plus dans l'ordre...

For Each ctr In UserForm.Controls
If TypeName(ctr) = "textbox" Then
Cells(Ligne, Colonne).Value = ctr.Value
Colonne = Colonne + 1
End If
If TypeName(ctr) = "combobox" Then
Cells(Ligne, Colonne).Value = ctr.Value
Colonne = Colonne + 1
End If

Next ctr


je ne sais pas comment sont classé les contrôles et que signifie next controle (par N°, par ordre alphabétique non,??)

Merci à vous si vous avez d'autres piste
 
- 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
5
Affichages
917
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…