Excel vba bouton recherche
Résoluf894009 Messages postés 17277 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
- Créer un bouton recherche dans excel
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer liste déroulante excel - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
18 réponses
Bonjour,
Eviter au maximum les boucles pour une recherche
Méthode find dans VBA - Recherche de données sous Excel (commentcamarche.net)
bonjour,
la valeur de L est indéterminée dans btnChercher2_Click().
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
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...
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.
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
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.
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
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
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.
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
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.
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