Bonjour à tous,
Je réalise actuellement un formulaire de saisie dans Vba.
Dans une Combo (CmbNum) je recherche un numéro. La liste des numéros provient de la colonne A de la feuille "Général".
Après avoir choisi un numéro, les données qu'il y a sur la même ligne sont affichées dans diverses ListBox (par exemple : LstNom reçoit le nom du candidat correspondant au n° affiché).
Ensuite, il y a 3 TextBox (TNot1, Tnot2, Tnot3). Celles-ci reçoivent également des données se trouvant sur la même ligne. Tnot1 = Col I, Tnot2 = Col J et TNot3 = Col L.
Dans mon formulaire, si TNot1 est vide alors la saisie est autorisée sinon on passe à Tnot3 et ainsi de suite. Si les 3 TextBox sont déjà saisies alors aucune saisie ne sera possible.
Dernièrement, l'utilisateur clique sur le bouton valider (Cb1) si il y a eu quelque chose de saisie alors les modifications entrent dans le tableau de la feuille de calcul "Général", sinon rien ne se passe.
J'ai commençé ceci mais je n'arrive pas à faire le reste. Le code charge la Combo ainsi que les différentes ListBox.
Pouvez-vous m'aider s'il vous plait ?
Merci par avance
PS : J'ai modifié mon post car je m'étais trompé de code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Private Sub CmbNum_Change() Dim Cell As Range Dim A1(0 To 500, 0 To 1) As String Dim A2(0 To 500, 0 To 1) As String Dim A3(0 To 500, 0 To 1) As String Dim A4(0 To 500, 0 To 1) As String Dim A5(0 To 500, 0 To 1) As String Dim A6(0 To 500, 0 To 1) As String Dim A7(0 To 500, 0 To 1) As String Dim i As Byte Dim L As Byte If UForm.CmbNum.Value <> "" Then L = Len(CmbNum) For Each Cell In Sheets("Général").Range("A4:A500") If UCase(Left(Cell.Text, L)) = UCase(CmbNum.Text) Then A1(i, 0) = Cell.Offset(0, 1).Text A2(i, 0) = Cell.Offset(0, 2).Text A3(i, 0) = Cell.Offset(0, 3).Text A4(i, 0) = Cell.Offset(0, 4).Text A5(i, 0) = Cell.Offset(0, 5).Text A6(i, 0) = Cell.Offset(0, 6).Text A7(i, 0) = Cell.Offset(0, 7).Text i = i + 1 End If Next UForm.LstNom.List = A1() UForm.LstPnom.List = A2() UForm.LstAdr.List = A3() UForm.LstCp.List = A4() UForm.LstVille.List = A5() UForm.LstCat.List = A6() UForm.LstCat2.List = A7() End If End Sub
Désolé pour le contre temps. Je vais mettre celui que je viens de faire
Partager