Modifier et afficher dans le formulaire

  • Initiateur de la discussion Initiateur de la discussion HugoB99
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

HugoB99

Guest
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

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,

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
 
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é !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
332
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
773
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
45
Réponses
3
Affichages
569
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
481
Retour