Fonction recherche avec code VBA
Fermé
mckoy1
Messages postés
14
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
19 octobre 2014
-
24 sept. 2014 à 14:56
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 26 sept. 2014 à 07:59
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 26 sept. 2014 à 07:59
A voir également:
- Fonction recherche avec code VBA
- Fonction si et - Guide
- Code asci - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
11 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
24 sept. 2014 à 16:47
24 sept. 2014 à 16:47
Bonjour,
Mettre ceci:
A adapter!
Mettre ceci:
Option Explicit Private Sub CommandButton1_Click() WorkbookFind End Sub Sub WorkbookFind() Dim myValue, What, Response As String Dim found, FirstAddress myValue = InputBox("Entrez le nom à rechercher", "Recherche", "Monnom") What = myValue If What = "" Then Exit Sub Feuil2.Activate Set found = Feuil2.Cells.Find(What) If Not found Is Nothing Then FirstAddress = found.Address Do found.Activate UserForm1.TextBox1.Text = ActiveCell.Value Response = MsgBox("Continuer ?", vbYesNo + vbQuestion) If Response = vbNo Then Exit Sub Set found = Cells.FindNext(After:=ActiveCell) If found.Address = FirstAddress Then Exit Do Loop End If MsgBox "Recherche terminée !" End Sub
A adapter!
mckoy1
Messages postés
14
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
19 octobre 2014
24 sept. 2014 à 20:17
24 sept. 2014 à 20:17
Merci, je vais essayé et te faire signe
mckoy1
Messages postés
14
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
19 octobre 2014
24 sept. 2014 à 20:33
24 sept. 2014 à 20:33
Merci pour le code. Je l'ai testé ça marche super bien. mais le souci est que la recherche me ramène sur la feuille2, alors que je voudrais l'afficher dans un formulaire sans quitter la feuil1. Voici ce que donne l'Userform. Merci.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
24 sept. 2014 à 20:52
24 sept. 2014 à 20:52
Pour revenir sur la feuille1:
Sheets("Feuil1").Select
Pour travailler sur la feuille avec l'UserForm
Allez dans les propriétés de l'UserForm
Mettre la propriété ShowModal à False
Sheets("Feuil1").Select
Pour travailler sur la feuille avec l'UserForm
Allez dans les propriétés de l'UserForm
Mettre la propriété ShowModal à False
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mckoy1
Messages postés
14
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
19 octobre 2014
24 sept. 2014 à 21:05
24 sept. 2014 à 21:05
Je mets Sheets("Feuil1").Select dans quelle partie du code. je risque de tout mélanger. S'il te plait reédite le code complet pour moi. Merci d'avance
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
24 sept. 2014 à 21:41
24 sept. 2014 à 21:41
Tu peux le mettre là:
Ou là:
Tu peux aussi supprimer les messages si tu veux.
Private Sub CommandButton1_Click() WorkbookFind Sheets("Feuil1").Select End Sub
Ou là:
Sub WorkbookFind() Dim myValue, What, Response As String Dim found, FirstAddress myValue = InputBox("Entrez le nom à rechercher", "Recherche", "Monnom") What = myValue If What = "" Then Exit Sub Feuil2.Activate Set found = Feuil2.Cells.Find(What) If Not found Is Nothing Then FirstAddress = found.Address Do found.Activate UserForm1.TextBox1.Text = ActiveCell.Value Response = MsgBox("Continuer ?", vbYesNo + vbQuestion) If Response = vbNo Then Exit Sub Set found = Cells.FindNext(After:=ActiveCell) If found.Address = FirstAddress Then Exit Do Loop End If MsgBox "Recherche terminée !" Sheets("Feuil1").Select End Sub
Tu peux aussi supprimer les messages si tu veux.
mckoy1
Messages postés
14
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
19 octobre 2014
24 sept. 2014 à 22:00
24 sept. 2014 à 22:00
ok merci
mckoy1
Messages postés
14
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
19 octobre 2014
Modifié par mckoy1 le 25/09/2014 à 14:28
Modifié par mckoy1 le 25/09/2014 à 14:28
Bonjour,
Je crois que je n'ai pas été assez explicite
J'ai pensé à concevoir un fichier excel qui se présente comme suis:
-L'interface à la feuil1
-Les données des membres à la feuil2
-Les cotisations à la feuil3
Voilà mon souhait:
_Créer sur l'interface à la feuil1 un bouton de commande qui ouvre un userform de recherche des membres de la feuil2 (ok à ce stade)
_Dans le formulaire des options de recherche par nom et par numéro de membre avec bouton VALIDER (ok)
_Le résultat de la recherche doit s'afficher directement dans l'userform (blocage)
_Je précise que la recherche ne doit pas ouvrir la feuil2, mais tirer les infos du membre recherché et les afficher dans l'userform sans quitter l'interface.
C'est à ce stade que je suis bloqué car je m'y connais pas en code VBA; je ne sais pas quel code éditer pour que tout fonctionne. Merci pour votre aide.
Je crois que je n'ai pas été assez explicite
J'ai pensé à concevoir un fichier excel qui se présente comme suis:
-L'interface à la feuil1
-Les données des membres à la feuil2
-Les cotisations à la feuil3
Voilà mon souhait:
_Créer sur l'interface à la feuil1 un bouton de commande qui ouvre un userform de recherche des membres de la feuil2 (ok à ce stade)
_Dans le formulaire des options de recherche par nom et par numéro de membre avec bouton VALIDER (ok)
_Le résultat de la recherche doit s'afficher directement dans l'userform (blocage)
_Je précise que la recherche ne doit pas ouvrir la feuil2, mais tirer les infos du membre recherché et les afficher dans l'userform sans quitter l'interface.
C'est à ce stade que je suis bloqué car je m'y connais pas en code VBA; je ne sais pas quel code éditer pour que tout fonctionne. Merci pour votre aide.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
25 sept. 2014 à 15:02
25 sept. 2014 à 15:02
Mettre un UserForm avec un TextBox pour saisir le nom recherché et un Label pour l'afficher.
Voici le code:
IMPORTANT
Pour travailler sur la feuille avec l'UserForm
Allez dans les propriétés de l'UserForm
Mettre la propriété ShowModal à False
Voici le code:
Private Sub CommandButton1_Click() WorkbookFind Sheets("Feuil1").Select End Sub Sub WorkbookFind() Dim What, Response As String Dim found, FirstAddress What = UserForm1.TextBox1.Text If What = "" Then Exit Sub Feuil2.Activate Set found = Feuil2.Cells.Find(What) If Not found Is Nothing Then FirstAddress = found.Address Do found.Activate UserForm1.Label1.Caption = ActiveCell.Value ' Response = MsgBox("Continuer ?", vbYesNo + vbQuestion) ' If Response = vbNo Then Exit Sub Set found = Cells.FindNext(After:=ActiveCell) If found.Address = FirstAddress Then Exit Do Loop End If 'MsgBox "Recherche terminée !" End Sub
IMPORTANT
Pour travailler sur la feuille avec l'UserForm
Allez dans les propriétés de l'UserForm
Mettre la propriété ShowModal à False
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
25 sept. 2014 à 15:07
25 sept. 2014 à 15:07
Voici un exemple:
http://cjoint.com/data3/3IzpjOEIRkm.htm
http://cjoint.com/data3/3IzpjOEIRkm.htm
mckoy1
Messages postés
14
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
19 octobre 2014
25 sept. 2014 à 20:57
25 sept. 2014 à 20:57
L'exemple marche bien, mais je ne sais pas comment l'adapter à mon fichier. Je voudrais t'envoyer le fichier pour que tu puisse y jeter un coup d'oeil, mais je sais pas comment joindre les fichiers.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
26 sept. 2014 à 07:59
26 sept. 2014 à 07:59
Comme je l'ai fait ici:
https://www.cjoint.com/
Ensuite poster le lien
Mettre une copie du classeur en ayant supprimé les données confidentielles. Les remplacer par des données anonymes pour la compréhension.
https://www.cjoint.com/
Ensuite poster le lien
Mettre une copie du classeur en ayant supprimé les données confidentielles. Les remplacer par des données anonymes pour la compréhension.