Modifier une ligne de tableau avec Userform/VBA

Jonathan1986

XLDnaute Nouveau
Bonjour à tous,

Tout d'abord je suis débutant en VBA, donc encore plus avec les userforms.

J'espère que quelqu'un saura m'éclairer :) après quelques heures passée je n'ai d'autre choix étant donné mon niveau que de demander un coup de pouce

J'ai un userform dans le premier onglet pour manipuler une basse de données dans un deuxième onglet (ajout, suppression, éditer, nouveau). J'ai un problème avec le code pour éditer un profil existant. En effet quand je veux modifier quelques données sur une ligne/un profil existante, mon code ne modifie que la cellule de la première colonne de mon tableau, le nom de l'entrperise, je n'arrive pas à modifier les autres cellules.
Voici le code :

Private Sub BoutonEditer_Click()
Dim CTRL As Control
Dim i As Integer
Dim Response As Byte


If Me.CBEntreprise.ListIndex = -1 Then
Exit Sub
End If

Response = MsgBox("Acceptez vous les changements ? ", vbQuestion + vbOKCancel, T & " Modification de : " & Entreprises)

If Response = 1 Then


With ThisWorkbook.Sheets("BDDC")
ThisWorkbook.Sheets("BDDC").Range("B" & Me.CBEntreprise.ListIndex + 5) = TextBox2
ThisWorkbook.Sheets("BDDC").Range("C" & Me.CBEntreprise.ListIndex + 5) = TextBox3
ThisWorkbook.Sheets("BDDC").Range("D" & Me.CBEntreprise.ListIndex + 5) = TextBox4
ThisWorkbook.Sheets("BDDC").Range("E" & Me.CBEntreprise.ListIndex + 5) = TextBox5
ThisWorkbook.Sheets("BDDC").Range("F" & Me.CBEntreprise.ListIndex + 5) = TextBox6
ThisWorkbook.Sheets("BDDC").Range("G" & Me.CBEntreprise.ListIndex + 5) = TextBox7
ThisWorkbook.Sheets("BDDC").Range("H" & Me.CBEntreprise.ListIndex + 5) = TextBox8
ThisWorkbook.Sheets("BDDC").Range("I" & Me.CBEntreprise.ListIndex + 5) = TextBox9

End With
MsgBox "Opération accomplie", vbInformation, T

Ini 'On lance la réinitialisation du UserForm

'Si Réponse Annulation on envoie un message et on a rien fait
Else: MsgBox "Opération annulée", vbInformation, T
End If

End Sub

Le fichier en PJ :)
Merci beaucoup!! d'avance pour votre réponse, j'espère avoir été clair:)
 

Pièces jointes

  • Classeur2.xlsm
    30 KB · Affichages: 299
  • Classeur2.xlsm
    30 KB · Affichages: 314
  • Classeur2.xlsm
    30 KB · Affichages: 359

Herdet

Nous a quitté
Repose en paix
Re : Modifier une ligne de tableau avec Userform/VBA

Bonjour à tous,

J'ai un userform dans le premier onglet pour manipuler une basse de données dans un deuxième onglet (ajout, suppression, éditer, nouveau). J'ai un problème avec le code pour éditer un profil existant. En effet quand je veux modifier quelques données sur une ligne/un profil existante, mon code ne modifie que la cellule de la première colonne de mon tableau, le nom de l'entrperise, je n'arrive pas à modifier les autres cellules.
Voici le code :

Private Sub BoutonEditer_Click()
Dim CTRL As Control
Dim i As Integer
Dim Response As Byte

If Me.CBEntreprise.ListIndex = -1 Then Exit Sub

Response = MsgBox("Acceptez vous les changements ? ", vbQuestion + vbOKCancel, T & " Modification de : " & Entreprises)

If Response = vbYes Then

m=Me.CBEntreprise.ListIndex
With ThisWorkbook.Sheets("BDDC")
.Range("B" & m + 5) = TextBox2
.Range("C" & m + 6) = TextBox3
.Range("D" & m + 7) = TextBox4
.Range("E" & m + 8) = TextBox5
.Range("F" & m + 9) = TextBox6
.Range("G" & m + 10) = TextBox7
.Range("H" & m + 11) = TextBox8
.Range("I" & m + 12) = TextBox9

End With
MsgBox "Opération accomplie", vbInformation, T

Ini 'On lance la réinitialisation du UserForm

'Si Réponse Annulation on envoie un message et on a rien fait
Else: MsgBox "Opération annulée", vbInformation, T
End If

End Sub
Bojour,
Je pense que le pb vient de Me.CBEntreprise.ListIndex+5 que tu utilises pour toutes les lignes
J'ai modifié un peu ton code dans ta question ci-dessus
Cordialement
Robert
 

Jonathan1986

XLDnaute Nouveau
Re : Modifier une ligne de tableau avec Userform/VBA

Bonjour,
Merci pour ta réponse
J'ai mis ton code mais ça ne fonctionne toujours pas, quand je veux modifier des données dans le userform et que j'appuie sur éditer les textbox s'effacent ... En tout cas les différentes cellules de la ligne ne sont pas modifiées
Merci d'avance pour ton aide :)
 

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16