Excel vba bouton recherche

Résolu
patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -

Bonjours a tout le forum,

D'abord merci le forum ça dépanne bien quand ont est dans la mouise.

voilà pourquoi je post, j'ai fait un formulaire de saisie pour alimenter une base de donnée faite avec EXCEL.

J'ai mis un bouton de recherche adhérent, mais je ne sais pas comment le faire fonctionner.

je vous demande juste  qu'on m' explique la procédure.

Moi je pensai que c' était l' inverse du bouton ajouter adhérent.

je vous joint un bout du  code que j'ai fait.

merci d' avance pour votre aide précieuse que vous m" apporterez.

If MsgBox("Confirmez-vous l'adhésion?", vbYesNo, "Demande d'ajout") = vbYes Then

For Each ctrl In frmCivilite.Controls 'Code pour faire fonctionner les boutons options'
If ctrl.Value = True Then

     L = Sheets("BaseDA").Range("A65536").End(xlUp).Row + 1
        
        Range("A" & L).Value = lblDateAdhe '1
        Range("B" & L).Value = ctrl.Caption '2
        Range("C" & L).Value = txtNom '3
        Range("D" & L).Value = txtPrenom '4
        Range("E" & L).Value = txtAdresse '5
        Range("F" & L).Value = txtPhone '6
        Range("G" & L).Value = txtEmail '7
        Range("H" & L).Value = txtDateNai '8
        Range("I" & L).Value = CCur(Me.txtCotisation) '9
        Range("J" & L).Value = CCur(Me.txtPayer) '10
        Range("L" & L).Value = MoisDu '12
        Range("M" & L).Value = cboMoyenPai '13
        
       
                Unload Me
             
    End If
    
        Next
  
    End If

End Sub
 
__________________________________________________________________________________________
         
'Bouton : Pour retrouver un adhérent par nom'

Private Sub btnChercher2_Click()


Do Until ActiveCell = CLng(Me.txtNom)
    ActiveCell.Offset(3, 0).Select

    Loop

        lblDateAdhe = Range("A" & L).Value  '1
        ctrl.Caption = Range("B" & L).Value '2
        txtNom = Range("C" & L).Value       '3
        txtPrenom = Range("D" & L).Value    '4
        txtAdresse = Range("E" & L).Value   '5
        txtPhone = Range("F" & L).Value     '6
        txtEmail = Range("G" & L).Value     '7
        txtDateNai = Range("H" & L).Value   '8
        Me.txtCotisation = Range("I" & L).Value  '9
        Me.txtPayer = Range("J" & L).Value    '10
        MoisDu = Range("L" & L).Value       '12
        cboMoyenPai = Range("M" & L).Value  '13
  
End Sub

18 réponses

  1. patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   1
     

    bonjour ,

    Merci pour ta réponse je vais aller voir cet méthode find dans VBA et je revient  dire si ça ma aider.

    Je joint une photo de mon formulaire

    0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    la valeur de L est indéterminée dans btnChercher2_Click().

    0
  3. patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   1
     

    bonjour a tous ,

    d'abord merci de bien vouloir vous pencher sur mon problème.

    J'ai étudié la "méthode Find dans VBA"  comme on me l'a suggérer et j'ai fais le code ci-joint, mais j'ai une erreur de compilation " Membre de méthode ou de donnée introuvable j'ai le mot  "ctrl" surligner a la ligne " frmsaisie.ctrl.Caption = Range("B" & L).Value " , j'aimerais bien que l'on m'explique le pourquoi du comment , faut dire que je me débrouille moyennement en Excel VBA .

    'Bouton : Pour retrouver un adhérent par nom'
    
    Private Sub btnChercher2_Click()
    
    Dim strFindWhat As String
     strFindWhat = txtNom.Text
      
        L = Sheets("BaseDA").Range("C2:C65536").End(xlUp).Row
    
        Cells.Find(What:=strFindWhat, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Select
                
        If MsgBox("Nom pas trouvé !", vbInformation + vbOKOnly, "CHERCHER") Then
    
    
            frmsaisie.lblDateAdhe = Range("A" & L).Value  '1
            frmsaisie.ctrl.Caption = Range("B" & L).Value '2
            frmsaisie.txtNom = Range("C" & L).Value       '3
            frmsaisie.txtPrenom = Range("D" & L).Value    '4
            frmsaisie.txtAdresse = Range("E" & L).Value   '5
            frmsaisie.txtPhone = Range("F" & L).Value     '6
            frmsaisie.txtEmail = Range("G" & L).Value     '7
            frmsaisie.txtDateNai = Range("H" & L).Value   '8
            frmsaisie.Me.txtCotisation = Range("I" & L).Value  '9
            frmsaisie.Me.txtPayer = Range("J" & L).Value    '10
            frmsaisie.MoisDu = Range("L" & L).Value       '12
            frmsaisie.cboMoyenPai = Range("M" & L).Value  '13
      
       End If
      
    End Sub
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    frmsaisie.ctrl.Caption = Range("B" & L).Value

    C'est un objet de l'userform ou? 

    0
  6. patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   1
     

    Bonjour,

    c’est pour enregistrer dans la base de données  Mr ou Mme et c’est dans l’userform.

    0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    Tiut a fait Thierry, le nom de cet objet est bien ctrl?

    A defaut pouvez vous mettre votre fichier a dispo

    Pour transmettre un fichier,
    Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES, mais des donnees quand meme
    il faut passer par un site de pièce jointe tel que cjoint.com

    Allez sur ce site : http://cjoint.com
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse...

    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       

      Au fait, CTRL label  ou textbox ou checkbox?

      0
  8. ozone_ Messages postés 1823 Statut Membre 511
     

    Bonjour le fil,

    J'ai l'impression que le ctrl est hérité de la boucle For Each et que potentiellement celui ci n'a rien a faire ici. 

    Toute fois avec un exemple de fichier, on pourrait y voir plus clair. 


    0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour Ozone

    Ça roule ?

    En effet CTRL est un reliquat de la procédure ajout. Sûrement un copier/coller de la dite procédure.

    Pour les boutons option il doit mettre à true le bouton dont le caption est égal à range("B" & etc

    Par contre L n'est pas la bonne ligne puisque c'est la ligne de la dernière cellule non vide.

    La "bonne" ligne est le résultat du find si trouvé.

    La logique de la procédure de recherche est à revoir

    0
  10. patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   1
     

    Re-bonjour à tous.

    Un grand merci à tous de vous pencher sur mon cas.

    Comme suggérer j'ai mis mon fichier a l'adresse suivante :  https://www.cjoint.com/c/LICnSr42ZE6

    Pour rappel, je n'arrive pas  à faire fonctionner le bouton Rechercher, peut-être que mon code  c'est pas ça que j'aurai du faire.

    salutations cordiales.

    0
  11. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    Je recupere le fichier et regarde la chose

    Suite:

    Il est possible de valider un ajout avec un nom saisi, civilite et rien d'autre!

    La recherche par find n'est pas la bonne

    je vous arange ca 

    0
  12. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    fichier modifie pour recherche et ajout sans for each

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

    Z'avez pas,mal de boulot pour eviter les erreurs VBA et autres

    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       

      Bonjour,

      le fichier que j'ai mis a dispo fait la recherche seulement avec le Nom.

      C'est un peu different si Nom et Prenom

      0
  13. patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   1
     

    Bonjour ,

    Effectivement il y a plusieurs fois le même nom dans la base, ça serai bien d'ajouter le prénom si nécessaire.

    Si t'a un bout de code je suis preneur, sinon ton code fonctionne très bien.

    Faut dire que c'est la première fois que je fais un formulaire de saisie, d'ordinaire je tape directement les données dans la base.

    Je crois que je vais prendre des cours Excel  VBA, car je m'y intéresse de plus en plus.

    encore une fois je te remercie pour tes réponses pertinentes et ta patience.

    0
  14. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    je te remercie pour tes réponses pertinentes et ta patience

    Y a pas de quoi

    fichier avec nom et prenom pour le recherche: https://www.cjoint.com/c/LJchKHfm1Fg

    Modif: code boutons ajout, recherche, modification, suppression

    Dans l'Userform frmSaisie, j'ai ajoute une listview pour visualisation de la base histoire de s'amuser. 

    Vous pouvez regarder dans l'Userform UF_Gestion_RDV_R_Tel_Val les possibiltes qu'une Listview apporte

    Cette Userform fait parti d'un fichier que j'ai code pour une personne sur CCM

    0
  15. patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   1
     

    Bonjour,

    C'est super ce que tu as fais, je vais étudier attentivement ton code, mais il y a deux  problèmes :

    1° > Maintenant quand je clic sur sur le bouton ajouter j'ai le message d'erreur suivant : 'Erreur de compilation : référence incorrect ou non qualifiée'

     2°> Quand je clic sur le bouton modifier ça efface la ligne.

     J'aimerai Une explication histoire de comprendre.

    En attendant je vais essayer de trouver par moi-même.

    Cordialement.

    0
  16. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

     2°> Quand je clic sur le bouton modifier ça efface la ligne.

    Ben pas chez moi!

    Fichier modifie pour 1, mise a jour base et mise a jour listview comprise:  https://www.cjoint.com/c/LJdjKvq54Ug

    Actuelement vous pouvez ajouter x fois le meme adherent sur ajout ou apres recherche

    0
  17. patordi Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   1
     

    Bonjour,

    Tout fonctionne parfaitement, sincèrement je te remercie, je vais clôturer la discutions et j’en ouvrirai une autre si nécessaire.

    cordialement.

    0
  18. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    Ok, ca roule

    0