Modifier et afficher dans le formulaire

HugoB99

XLDnaute Nouveau
Bonjour à tous,

A nouveau des petits soucis avec du VBA...

Mon bouton "modifier" ne modifie pas les données relatives à ma combobox1 et ne s'affichent pas lorsque je recherche par nom de société (combobox1)

ex :

Je fais dérouler la liste, je prends "AAA" en tabulant j'aimerai que les données que j'ai saisie s'affiche

Ca fonctionnait dans le formulaire a rallonge que je vous ai déjà soumis. Pour celui ci je cale à nouveau...

Je vous link le code + le fichier, je pense que les erreurs sont basiques et étant encore novice si vous apportez une solution, pouvez vos expliquer vos améliorations brièvement ?

VB:
Option Explicit
Dim Ws As Worksheet
'Pour le formulaire
Private Sub UserForm_Initialize()
  Dim j As Long
  'Pour la liste déroulante interet
  ComboBox2.List() = Array("Oui", "Non")
  Set Ws = Sheets("Suivi_Contrepartie") 'Correspond au nom de l'onglet dans le fichier Excel
  For j = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
    Me.ComboBox1.AddItem Ws.Range("A" & j)
  Next j
End Sub

'Pour la liste déroulante Code client
Private Sub ComboBox0_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim ligne As Long, i As Integer
  If Me.ComboBox1.ListIndex = -1 Then Exit Sub
  Set Ws = Sheets("Suivi_Contrepartie") 'Correspond au nom de l'onglet dans le fichier Excel
  ligne = Me.ComboBox1.ListIndex + 2
  ComboBox1 = Ws.Cells(ligne, 1)
  affdonnees (ligne)
End Sub

'Pour le bouton Nouveau contact
Private Sub CommandButton1_Click()
 Dim L As Integer
 
 With Sheets("Suivi_Contrepartie")
  .Unprotect Password:=2019
 
 If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") <> vbYes Then Exit Sub
 L = Sheets("Suivi_Contrepartie").Range("A" & Rows.Count).End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
 enreg (L)
 
 .Protect Password:=2019
 
End With
 
End Sub
 'Pour le bouton Modifier
Private Sub CommandButton2_Click()
  Dim ligne As Long, i As Integer
 
   With Sheets("Suivi_Contrepartie")
  .Unprotect Password:=2019
 
 If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") <> vbYes Then Exit Sub
 If Me.ComboBox2.ListIndex = -1 Then Exit Sub
 ligne = Me.ComboBox1.ListIndex + 2
 enreg (ligne)
 
  .Protect Password:=2019
 
End With
 
End Sub

'Pour le bouton Quitter
Private Sub CommandButton3_Click()
   Unload Me
End Sub

Sub enreg(L)
Range("A" & L).Value = ComboBox1.Value 'Pour la societe
Range("B" & L).Value = ComboBox2.Value 'Pour l'interet
Range("C" & L).Value = TextBox1.Value 'Pour nom du dirigeant
Range("D" & L).Value = TextBox2.Value 'Pour l'adresse
Range("E" & L).Value = TextBox3.Value 'Pour le CP
Range("F" & L).Value = TextBox4.Value 'Pour la ville
Range("G" & L).Value = TextBox5.Value 'Pour le tel
Range("H" & L).Value = TextBox6.Value 'Pour le mail
Range("I" & L).Value = TextBox7.Value 'Pour la date d'envoi
Range("J" & L).Value = TextBox8.Value 'Pour le format d'envoi
Range("K" & L).Value = TextBox9.Value 'Pour la date de retour
Range("L" & L).Value = TextBox10.Value 'Pour l'envoi du memo
Range("M" & L).Value = TextBox11.Value 'Pour le commentaire

 Dim j As Long
 Me.ComboBox1.Clear
 Set Ws = Sheets("Suivi_Contrepartie") 'Correspond au nom de l'onglet dans le fichier Excel
 Me.ComboBox2.Clear
 For j = 2 To Ws.Range("C" & Rows.Count).End(xlUp).Row
   Me.ComboBox1.AddItem Ws.Range("A" & j)
 Next j
  For j = 1 To 11
    Me.Controls("TextBox" & j) = ""
  Next
  Me.ComboBox1.ListIndex = -1
End Sub

Sub affdonnees(L)
Range("A" & L).Value = ComboBox1.Value 'Pour la societe
Range("B" & L).Value = ComboBox2.Value 'Pour l'interet
Range("C" & L).Value = TextBox1.Value 'Pour nom du dirigeant
Range("D" & L).Value = TextBox2.Value 'Pour l'adresse
Range("E" & L).Value = TextBox3.Value 'Pour le CP
Range("F" & L).Value = TextBox4.Value 'Pour la ville
Range("G" & L).Value = TextBox5.Value 'Pour le tel
Range("G" & L).Value = TextBox6.Value 'Pour le mail
Range("H" & L).Value = TextBox7.Value 'Pour la date d'envoi
Range("I" & L).Value = TextBox8.Value 'Pour le format d'envoi
Range("J" & L).Value = TextBox9.Value 'Pour la date de retour
Range("K" & L).Value = TextBox10.Value 'Pour l'envoi du memo
Range("L" & L).Value = TextBox11.Value 'Pour le commentaire

End Sub

Merci d'avance l'équipe,

Belle journée
 

Pièces jointes

  • Classeur1.xlsm
    24.9 KB · Affichages: 7

Paf

XLDnaute Barbatruc
Bonjour,

Dans le code de l'userform,on trouve Private Sub ComboBox0_Exit(ByVal Cancel As MSForms.ReturnBoolean) qui ferait presque l'affaire... sauf que la Combobox0 n'existe pas !! Il s'agirait de la Combobox1 ??
D'ailleurs, il serait avantageux d'utiliser plutôt Private Sub ComboBox1_Click()

Dans cette sub on fait appel à la Sub affdonnees(L) qui est sensée afficher le contenu des cellules dans les différents contrôles de l'userform, sauf que les initialisations sont faites à l'envers !!!:

VB:
.../...
Range("F" & L).Value = TextBox4.Value 'Pour la ville
.../...

A+
 

HugoB99

XLDnaute Nouveau
Bonjour,

Dans le code de l'userform,on trouve Private Sub ComboBox0_Exit(ByVal Cancel As MSForms.ReturnBoolean) qui ferait presque l'affaire... sauf que la Combobox0 n'existe pas !! Il s'agirait de la Combobox1 ??
D'ailleurs, il serait avantageux d'utiliser plutôt Private Sub ComboBox1_Click()

Dans cette sub on fait appel à la Sub affdonnees(L) qui est sensée afficher le contenu des cellules dans les différents contrôles de l'userform, sauf que les initialisations sont faites à l'envers !!!:

VB:
.../...
Range("F" & L).Value = TextBox4.Value 'Pour la ville
.../...

A+

Bonjour,

Oui en effet quelques petites inattentions. C'est bien la combobox1 et non pas la combobox0.

Je pense avoir solutionné mon soucis avec le bouton modifier.

Toujours rien pour l'affichage des données dans mon formulaire depuis la sélection d'une entreprise avec la combobox1.

Peux tu m'indiquer comment réordonner mes initialisation stp ?

Merci d'avance
 

HugoB99

XLDnaute Nouveau
Bonjour,

Oui en effet quelques petites inattentions. C'est bien la combobox1 et non pas la combobox0.

Je pense avoir solutionné mon soucis avec le bouton modifier.

Toujours rien pour l'affichage des données dans mon formulaire depuis la sélection d'une entreprise avec la combobox1.

Peux tu m'indiquer comment réordonner mes initialisation stp ?

Merci d'avance

Je suis un boulet. Merci de m'avoir orienté. J'ai trouvé !
 

Membres actuellement en ligne

Statistiques des forums

Discussions
286 547
Messages
1 877 059
Membres
160 560
dernier inscrit
jesaispas
Haut Bas