Bouton Modifier VBA Excel

Bonjour,

J'ai besoin d'aide pour un code vba pour un bouton modifier sur un userform excel.

J'ai fais un code mais lorsque je l'essaye ça ne marche pas du tout ...

Voici le code que j'ai fais (avec difficulté étant débutante ! ) :

'Pour le bouton Modifier
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
If MsgBox("Confirmez-vous la modification ?", vbYesNo, "Confirmation de modification") = vbYes Then Exit Sub
Range("A" & Ligne) = Me.ComboBox1
Range("B" & Ligne) = TextBox1
Range("C" & Ligne) = TextBox2
Range("D" & Ligne) = TextBox3
Range("L" & Ligne) = TextBox4
Range("T" & Ligne) = TextBox5
Range("AB" & Ligne) = TextBox6
Range("AJ" & Ligne) = TextBox7
Range("AR" & Ligne) = TextBox8
Range("AZ" & Ligne) = TextBox9
Range("G" & Ligne) = TextBox10
Range("O" & Ligne) = TextBox11
Range("W" & Ligne) = TextBox12
Range("AE" & Ligne) = TextBox13
Range("AM" & Ligne) = TextBox14
Range("AU" & Ligne) = TextBox15
Range("BC" & Ligne) = TextBox16
Range("H" & Ligne) = TextBox17
Range("P" & Ligne) = TextBox18
Range("X" & Ligne) = TextBox19
Range("AF" & Ligne) = TextBox20
Range("AN" & Ligne) = TextBox21
Range("AV" & Ligne) = TextBox22
Range("BD" & Ligne) = TextBox23

For I = 1 To 23
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I
End Sub

Est-ce que quelqu'un voit pourquoi ça ne fonctionne pas ?

C'est assez urgent !

Merci pour votre aide

Coralie

Bonjour et bienvenu(e)

A première vue la variable Ligne n'est pas initialisée ---> Donc Ligne = 0 ---> Plantage

Comme c'est pour une modification il te manque une ligne du style

Ligne =  Me.ComboBox1.ListIndex + 2

Merci pour ta réponse.

J'ai rajouté la ligne mais ça ne marche toujours pas ...

Voici mon fichier (avec des données "bidons" car confidentielles) :

https://www.cjoint.com/c/DKCpl0015IZ

Comme je suis vraiment débutante en vba je ne vois pas d'où vient le problème !

Encore merci pour ton aide

Bonjour

Cela provient de ton test

il faut <> vbYes

If MsgBox("Confirmez-vous la modification ?", vbYesNo, "Confirmation de modification") <> vbYes Then Exit Sub

Maintenant ça fonctionne mais quand je modifie ça me décale toutes les donnéEs d'une colonne ...

La première colonne NOM est modifiée mais ensuite ça me remet le nom modifié dans la colonne Prénom est ça décalle tout vers la droite !

J'ai vérifié et toutes mes TextBox correspondent aux bonnes colonnes.

Bonjour

A la fin de ta procédure Private Sub CommandButton2_Click() enlèves

'For I = 1 To 23
'If Me.Controls("TextBox" & I).Visible = True Then
'Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
'End If
'Next I
End Sub

C'est PARFAIT !!

Tout marche nickel.

Merci beaucoup beaucoup

Rechercher des sujets similaires à "bouton modifier vba"