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

B

Ben

Guest
Bonjour le forum,

Je sollicite une aide de votre part quant à mon souci. J'ai un formulaire qui remplit un tableau et les colonnes de ce tableau alimentent des combobox et des textbox, mais j'ai du mal à conjuguer les textox et les combobox. Private Sub UserForm_Initialize()

'Code donné par Hervé
Dim tablo, control As Variant
Dim col As Byte
Dim i As Integer, j As Integer
Dim data As Collection
Dim temp As String
tablo = Range('a1').CurrentRegion 'correspond aux données destinées aux box

For col = 1 To UBound(tablo, 2)
For i = 2 To UBound(tablo, 1) 'on commence à 2 pour éviter la ligne d'entete
For j = 2 To UBound(tablo, 1)
If tablo(i, col) < tablo(j, col) Then
temp = tablo(i, col)
tablo(i, col) = tablo(j, col)
tablo(j, col) = temp
End If
Next j
Next i
Next col


For col = 1 To UBound(tablo, 2)

Set data = New Collection

On Error Resume Next
For i = 2 To UBound(tablo)
data.Add CStr(tablo(i, col)), CStr(tablo(i, col))
Next i
On Error GoTo 0

For j = 1 To data.Count


'je souhaiterais faire remplir les combobox de la même manière
Controls('combobox' & col).AddItem data(j)


Next j

Set data = Nothing
Next col
End Sub

Merci de vos lumières
 
Bonjour ben, le forum

c'est très difficile de te répondre sans voir la structure de ton fichier, et ton usf.

Si tu veux utiliser des textbox, c'est, je suppose, que tu n'a qu'une valeur à renvoyer.

il va falloir faire comprendre au code que suivant la colonne que l'on traite on doit renvoyer vers tel ou tel controles.

ce type de code pourrait le faire :

Select Case col
Case 1, 3, 5
Controls('combobox' & col).AddItem data(j)
Case 2, 4, 6
Controls('Textbox' & col) = data(j)
End Select

Ceci sous réserve que ta combobox1 recoivent bien les données de la colonne 1, que la textbox 2 recoit la colonne 2 etc....

Mais pour ceci il faut renommer tes controles en conséquences, et pas leur laisser le nom par défaut.

Joint-nous un fichier ca sera plus simple.

salut
 
Bonsoir le Forum,
Hervé,
Je viens tout juste de lire ton message, je vais d'abord essayer avec tes propositions et je reviendrai vers vous avec éventuellement une version épurée du fichier selon les normes en vigueur ici.
Merci en tout cas.
 
Bonjour le Forum,
Hervé,
Tu me chagrinnes, tu oses avancer l'idée que je peuisses ne pas dire la vérité? Ce n'est pas très grave, je préfère penser que je suis moi même une lumière en un sens: j'arrive à comprendre ce que d'autres ne comprennent pas.
Pour être sérieux, oui cela fonctionne j'ai 6 combobox et 8 textbox à la suite, je vais tacher de faire en sorte que la réinitialisation se fasse au bon moment. Le fichier est trop gros pour être sur le forum et il faudrait éventuellement que je le nettoie pour l'alléger.
A bientôt
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
779
Réponses
8
Affichages
390
Réponses
2
Affichages
145
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
293
Réponses
3
Affichages
922
Réponses
4
Affichages
730
Retour