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 37 38 39 40
| Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim i As Integer
Dim Ctrl As Control
If MsgBox("Confirmez-vous la modification de cet agent ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
' on regarde si c'est l'ID ou le NOM qui a été utilisé
' et on récupère la ligne source grâce à la position de la valeur choisie dans le combobox
If Me.ComboBox26.Visible = False Then
If Me.ComboBox27.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox27.ListIndex + 2
Else
If Me.ComboBox26.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox26.ListIndex + 2
End If
' on rattache les lignes où on va écrire à la feuille ESSAI
' ce qui évite d'écrire dans une autre feuille que celle là
With Sheets("Feuil1")
' pour les 65 colonnes où on doit écrire
For i = 1 To 65
' on cherche dans chaque controle celui dont le Tag correspond à la colonne où on doit écrire
For Each Ctrl In Me.Controls
' si le contrôle contient bien un tag
If Ctrl.Tag <> "" Then
' celui qui porte le bon tag
If Ctrl.Tag = i Then
' transmet son contenu à la cellule située à la LIGNE voulue, et dans la colonne voulue
.Cells(Ligne, i) = Ctrl
End If
End If
Next Ctrl
Next i
End With
End If
Unload Me
End Sub |