XL 2019 Remplissage Userform Excel

Dofing

XLDnaute Junior
Bonjour à toutes la communauté Excel Downloads,

Cela fait environ une semaine que j'essaye completer le code de mon user-form sans succès; Il s'agit d'un user-form qui servira pour enregistrer les recouvrements de loyer.

Pour ce faire vous avez un fichier "Suivi Recouvrement" qui comprend la liste des contrats de location en cours.

Je cherche un code pour me permettre de rappeler certaines des ces informations dans mon user-form à partir du nom et du prénom d'un locataire

Par exemple lors qu'on lance l'user-form on doit indiquer le nom et le prénom du locataire qui à effectuer le payement. Bien entendu on ne peut saisir de nom ou de prénom que lors que c'est disponible dans le ficher "Suivi Recouvrement".

Ainsi lorsque le Nom et le Prénom d'un locataire est matché dans le fichier "Suivi Recouvrement" toutes autres Texbox et Combobox de l'userform soit rappeler automatiquement comme selon le principe de l’événement Change.

L'autre difficulté du code c'est qu'on a dans le fichier "Suivi Recouvrement" plusieurs homonymes avec des noms différents.

Cordialement.

Ci-dessous le lien pour ceder au fichier
 

fanfan38

XLDnaute Barbatruc
Bonjour ci joint ma solution
ATTENTION! la feuille Régistre Récouvrement est protégé donc je n'ai pas testé la validation de l'userform.
Pour enlever la protection remplacer en début et en fin de macro motpasse par le mot de passe et enlever l'apostrophe en debut de ligne
A+ François
 

Dofing

XLDnaute Junior
Bonjour ci joint ma solution
ATTENTION! la feuille Régistre Récouvrement est protégé donc je n'ai pas testé la validation de l'userform.
Pour enlever la protection remplacer en début et en fin de macro motpasse par le mot de passe et enlever l'apostrophe en debut de ligne
A+ François
Bonjour le mot de passe est GLP.
je vais corriger le fichier dès que possible.
 

Dofing

XLDnaute Junior
Bonjour le mot de passe est GLP.
je vais corriger le fichier dès que possible.

Bonjour XLDnaute,

Je suis très agréablement surpris du progrès réaliser sur le fichier et je vous en remercie, j'ai ainsi completer le fichier avec le mot de passe et je l'ai tester.

J'ai remarqué que l'user-form suivi_encaissement est toujours lancé avec un prénom "Sékou" dont il faut effacer manuellement.

Par ailleurs lors qu'on désigne le nom et le prénom d'un locataire les autres informations ne sont rappeler dans l'user-form que pour le locataire Mamadou Kone avec le choix Appartement ou Boutique (que je trouve ingénieux). Pour tous les autres après avoir un nom et prénom il ne se passe rien

J'ai aussi remarquer que malgré le fait que le code du Bouton valider soit saisie ça ne fonctionne pas.

Cordialement.

Ci-dessous le lien pour accéder au fichier
 

Dofing

XLDnaute Junior
Bonjour,

Au fil de mon utilisation du code, j'ai remarque pour le locataire Mamadou Koné pour lequel il faut faire un choix 1 ou 2 sur la boite de dialogue qui s'affiche, lorsque l'on appuie sur le bouton Annuler de la boite dialogue cela entraîne un Bug.

Merci de voir sur la même Boîte de dialogue s'il est possible de limiter la saisie uniquement entre 1 ou 2. En effet toute saisie différente de ces deux (02) valeurs entraîne également un Bug.

Enfin j'attire également votre attention sur le fait que le tableau "Suivi Recouvrement" sur la feuil2 est évolutive malheureusement toute évolution de ce tableau crée un Bug avec le code de la Boîte de Dialogue qui permet de faire un choix 1 ou 2. Cela rend userform complètement inutilisable.

J'ai tente à plusieurs reprise d’effectuer ces ajustements sans succès.
 
Dernière édition:

fanfan38

XLDnaute Barbatruc
Re ci joint la macro modifier
VB:
Private Sub ComboBox17_Change()
 Dim dl As Long, f As Worksheet, t_tab(5, 2), w As Byte, machaine As String, x As Byte
 Set f = Sheets("Suivi Récouvrement")
 dl = f.Range("A" & Rows.Count).End(xlUp).Row
 w = 0
 For lig = 4 To dl
  If f.Range("I" & lig).Value = Me.ComboBox16.Value And f.Range("H" & lig).Value = Me.ComboBox17.Value Then
    w = w + 1
    t_tab(w, 1) = lig: t_tab(w, 2) = f.Range("L" & lig).Value
  End If
 Next
 lig = t_tab(1, 1)
 If lig = 0 Then Exit Sub
 If w > 1 Then
  machaine = ""
  For x = 1 To w
   machaine = machaine & x & " " & t_tab(x, 2) & " "
  Next
  machaine = "choisir:" & machaine
  w = 0
  Do While w < 1 Or w > x
   w = Application.InputBox(machaine, "Cette personne loue:", 1)
  Loop
  If w > 1 Then lig = t_tab(w, 1)
 End If
    Me.ComboBox1.Value = f.Range("A" & lig).Value
    Me.ComboBox2.Value = f.Range("B" & lig).Value
    If f.Range("C" & lig).Value = "M" Then Me.OptionButton6 = True
    If f.Range("C" & lig).Value = "Mme" Then Me.OptionButton4 = True
    If f.Range("C" & lig).Value = "Mlle" Then Me.OptionButton5 = True
    Me.TextBox3.Value = f.Range("D" & lig).Value
    Me.TextBox2.Value = f.Range("E" & lig).Value
    Me.ComboBox8.Value = f.Range("F" & lig).Value
    If f.Range("G" & lig).Value = "M" Then Me.OptionButton3 = True
    If f.Range("G" & lig).Value = "Mlle" Then Me.OptionButton2 = True
    If f.Range("G" & lig).Value = "Mme" Then Me.OptionButton1 = True
    Me.ComboBox7.Value = f.Range("J" & lig).Value
    Me.ComboBox3.Value = f.Range("K" & lig).Value
    Me.ComboBox4.Value = f.Range("L" & lig).Value
    Me.ComboBox5.Value = f.Range("M" & lig).Value
    Me.ComboBox6.Value = f.Range("N" & lig).Value
    Me.Label42.Caption = f.Range("O" & lig).Value
End Sub
Private Sub CommandButton_annuler_Click()
  Unload Me
End Sub
A+ François
 

Dofing

XLDnaute Junior
Re ci joint la macro modifier
VB:
Private Sub ComboBox17_Change()
Dim dl As Long, f As Worksheet, t_tab(5, 2), w As Byte, machaine As String, x As Byte
Set f = Sheets("Suivi Récouvrement")
dl = f.Range("A" & Rows.Count).End(xlUp).Row
w = 0
For lig = 4 To dl
  If f.Range("I" & lig).Value = Me.ComboBox16.Value And f.Range("H" & lig).Value = Me.ComboBox17.Value Then
    w = w + 1
    t_tab(w, 1) = lig: t_tab(w, 2) = f.Range("L" & lig).Value
  End If
Next
lig = t_tab(1, 1)
If lig = 0 Then Exit Sub
If w > 1 Then
  machaine = ""
  For x = 1 To w
   machaine = machaine & x & " " & t_tab(x, 2) & " "
  Next
  machaine = "choisir:" & machaine
  w = 0
  Do While w < 1 Or w > x
   w = Application.InputBox(machaine, "Cette personne loue:", 1)
  Loop
  If w > 1 Then lig = t_tab(w, 1)
End If
    Me.ComboBox1.Value = f.Range("A" & lig).Value
    Me.ComboBox2.Value = f.Range("B" & lig).Value
    If f.Range("C" & lig).Value = "M" Then Me.OptionButton6 = True
    If f.Range("C" & lig).Value = "Mme" Then Me.OptionButton4 = True
    If f.Range("C" & lig).Value = "Mlle" Then Me.OptionButton5 = True
    Me.TextBox3.Value = f.Range("D" & lig).Value
    Me.TextBox2.Value = f.Range("E" & lig).Value
    Me.ComboBox8.Value = f.Range("F" & lig).Value
    If f.Range("G" & lig).Value = "M" Then Me.OptionButton3 = True
    If f.Range("G" & lig).Value = "Mlle" Then Me.OptionButton2 = True
    If f.Range("G" & lig).Value = "Mme" Then Me.OptionButton1 = True
    Me.ComboBox7.Value = f.Range("J" & lig).Value
    Me.ComboBox3.Value = f.Range("K" & lig).Value
    Me.ComboBox4.Value = f.Range("L" & lig).Value
    Me.ComboBox5.Value = f.Range("M" & lig).Value
    Me.ComboBox6.Value = f.Range("N" & lig).Value
    Me.Label42.Caption = f.Range("O" & lig).Value
End Sub
Private Sub CommandButton_annuler_Click()
  Unload Me
End Sub
A+ François


Bonjour fanfan38,

Excusez-moi j'avais entre-temps modifier mon post.

Merci voir ci-dessous.

Bonjour,

Au fil de mon utilisation du code, j'ai remarque pour le locataire Mamadou Koné pour lequel il faut faire un choix 1 ou 2 sur la boite de dialogue qui s'affiche, lorsque l'on appuie sur le bouton Annuler de la boite dialogue cela entraîne un Bug.

Merci de voir sur la même Boîte de dialogue s'il est possible de limiter la saisie uniquement entre 1 ou 2. En effet toute saisie différente de ces deux (02) valeurs entraîne également un Bug.

Enfin j'attire également votre attention sur le fait que le tableau "Suivi Recouvrement" sur la feuil2 est évolutive malheureusement toute évolution de ce tableau crée un Bug avec le code de la Boîte de Dialogue qui permet de faire un choix 1 ou 2. Cela rend userform complètement inutilisable.

J'ai tente à plusieurs reprise d’effectuer ces ajustements sans succès.
 

Dofing

XLDnaute Junior
Bonjour fanfan38,

Excusez-moi j'avais entre-temps modifier mon post.

Merci voir ci-dessous.

Bonjour,

Au fil de mon utilisation du code, j'ai remarque pour le locataire Mamadou Koné pour lequel il faut faire un choix 1 ou 2 sur la boite de dialogue qui s'affiche, lorsque l'on appuie sur le bouton Annuler de la boite dialogue cela entraîne un Bug.

Merci de voir sur la même Boîte de dialogue s'il est possible de limiter la saisie uniquement entre 1 ou 2. En effet toute saisie différente de ces deux (02) valeurs entraîne également un Bug.

Enfin j'attire également votre attention sur le fait que le tableau "Suivi Recouvrement" sur la feuil2 est évolutive malheureusement toute évolution de ce tableau crée un Bug avec le code de la Boîte de Dialogue qui permet de faire un choix 1 ou 2. Cela rend userform complètement inutilisable.

J'ai tente à plusieurs reprise d’effectuer ces ajustements sans succès.

C'est bien reçu.

Cependant pour une raison que j'ignore lorsque je lance je complete le reste des données dans mon tableau et que je lance l'user-form au lieu que la Boîte de Dialogue user-form s'affiche c'est plûtot la Boîte de Dialogue choix 1 ou 2 qui s'affiche et dont il faut valider une bonne dizaine fois avant que l'user-form se lance.
 

Dofing

XLDnaute Junior
ça marche effectivement avec le fichier initiale mais lors qu'on complete le tableau et qu'on lance l'user-form au lieu que la Boîte de Dialogue user-form s'affiche c'est plutôt la Boîte de Dialogue choix 1 ou 2 qui s'affiche et dont il faut valider plusieurs fois avant que l'user-form se lance.

Ci-joint le fichier
 

Dofing

XLDnaute Junior

Dofing

XLDnaute Junior
Bonjour fanfan38,

Comme annoncé précédemment le code fonctionne correctement, mais cependant au fur et mesure de son utilisation, j'ai noté certaines insuffisance surtout quand il s'agit de retracer les impayés d'un locataire à une date précise.

Ainsi à partir du fichier mise a jour ci-joint je cherche la possibilité lorsqu'on remplie l'userform "fiche_encaissement"et qu'on clic sur le bouton "Valider", que dans la feuille "Suivi Recouvrement" excel retrouve la cellule du mois concerné met uniquement la date de payement dans cette cellule.
Ainsi les autres cellules sans date pourront facilement être identifier comme étant non payés.
 

Pièces jointes

  • Gestion Locative Particulier Bis.xlsm
    862 KB · Affichages: 19

Statistiques des forums

Discussions
311 720
Messages
2 081 912
Membres
101 837
dernier inscrit
Ugo