Bonsoir tout le monde,
Au début, on m'avait demandé de créer des CheckBox qui correspondent aux champs de la feuille sur Excel, et une fois on sélectionne la CheckBox sur l'interface pour un numéro de dossier donner, le champ y correspondant se voit affecté d'une "*", voici le code et ceci marchait à merveille:
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
| Private Sub CommandButton1_Click()
' Bouton Ajouter
Sheets("Feuil1").Select
Dim no_ligne As Integer 'no_ligne = N° de ligne de la dernière cellule non vide de la colonne +1
Dim I As Integer
If MsgBox("Confirmez-vous l'insertion de ce nouveau dossier ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
no_ligne = Range("A1048576").End(xlUp).Row + 1
If ComboBox1.Text = "" Then
MsgBox (" Entrer le code de dossier s'il vous plait ")
Exit Sub
Else
If ComboBox1.ListIndex = -1 Then
Cells(no_ligne, 1).Value = ComboBox1
For I = 1 To 5
If Me.Controls("CheckBox" & I) = True Then
Cells(no_ligne, I + 1).Value = "*"
Else
Cells(no_ligne, I + 1).Value = " "
End If
'cells(no_ligne, I + 1).Value = Me.Controls("CheckBox" & I)
Next
Else: MsgBox ("Dossier déja existant")
End If
End If
End If
Dim J As Long
With Me.ComboBox1
For J = 2 To Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
.AddItem Worksheets("Feuil1").Range("A" & J)
Next J
End With
Application.ScreenUpdating = True |
Sauf que là, on m'a demandé de remplacer les 5 checkbox par une liste déroulante: ComboBox que j'ai implémentée à partir des champs de la table hormis le numéro de dossier, évidemment, et ensuite en cliquant sur un bouton de commande en ayant sélectionné un item de la combobox il se voit ajouté dans une ListBox(cela m'a été demandé également). Le problème qui se pose est: Comment je vais faire pour marquer les champs qui ont été sélectionné parmi les items du combobox et qui (figurent également dans la listbox)par des "*" ? Comme c'était le cas en manipulant les CheckBox?
--> Au lieu de cette ligne :
If Me.Controls("CheckBox" & I) = True Then
J'avais mis:
If Me.Controls("CheckBox" & I) = True Then
Mais ceci n'a pas marché vu que je ne m'y connais pas vraiment en VBA..
Je vous remercie infiniment pour votre attention et pour votre aide ! I really need it.
Partager