Salut Cycy,
Salut Galopin,
étant sur le sujet, j'interviens pour, évidemment, confirmer les commentaires de Galopin.
Le sujet est vaste et même si il n'y a rien de compliqué, l'usage d'une USF demande, come le reste de la programmation, beaucoup de rigueur mais aussi de recherche de la simplicité.
- ne jamais hésiter à spécifier la source de tes données, surtout lorsqu'il y a plusieurs feuilles, histoire que VBA sache, sans hésitation, où aller pêcher ses infos ;
With Worksheets("BDD")
' Boucle de la ligne 2 à la dernière ligne dans la colonne nomCol
For lig = 3 To .Range(nomCol & Rows.Count).End(xlUp).Row
LCombo.AddItem .Range(nomCol & lig).Value
Next lig
End With
- tes infos commencent à la ligne 3 et non 2 ;
- les noms de contrôle (TextBox et autres) : chercher à donner des noms identiques avec des n° d'index correspondants aux colonnes de données. Tu peux alors "goupiller" des boucles plutôt que chercher tes données ligne par ligne.
Ex: txt1, txt2, cmb1, cmb2
Ce qui donnerait pour l'affichage des données des colonnes [A:AI]
Ah, évidemment, il faut pouvoir jouer de ses connaissances mathématiques pour chercher le chemin le plus direct !
Je pense que MOD(ulo) est à la portée de tout le monde !
With Worksheets("BDD")
For x = 1 To 29 Step 7 'pour les données en colonnes [A-AI]
If x Mod 7 = 1 Or x Mod 7 = 6 Then
Me.Controls("cmb" & x).Text = .Cells(lig, x)
Else
Me.Controls("txt" & x).Text = .Cells(lig, x)
End If
Next
End With
Un peu de boulot de réflexion avant de construire tes USF et, comme le dit Galopin, inutile de faire 2 USF identiques ! Comme pour le reste, il faut trouver le moyen d'indiquer à VBA (bouton, checkbox...) que tu es en mode "Création" ou "Afffichage".
...
"Service non disponible..." : je mettrai le fichier plus tard...
EDIT : voilà le fichier. Je n'y règle que l'affichage dans l'USF "Recherche".
A+