Recherche de texte à partir d'InputBox

  • Initiateur de la discussion Initiateur de la discussion pak77
  • 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 !

P

pak77

Guest
Bonjour à tous,
Je suis nouvelle sur ce site qui me semble sympa et conviable. Je débute dans le VBA et je voudrais créer une macro un peu complexe (pour moi évidemment).

Bref, dans mon classeur excel, j'ai deux feuilles.
La première : l'endroit où je voudrais copier les données reçues en résultat de ma macro.
La seconde : est la base de données où s'effectue la recherche

Donc dans la feuille EnCours je dois positionner le curseur à l'endroit où le résultat doit être copié.
Une fois ceci fait, j'aurai qu'à cliquer sur Recherche et la macro débute avec un InputBox où je saisirais le "Dossier", appuie OK.
La macro vérifie que le "Dossier" saisie dans l'InputBox existe dans la feuille FinDAnnée et si tel est le cas, sélectionne les colonnes B à E de cette ligne de résultat et les copie à l'endroit où le curseur est, sinon spécifier que le "Dossier" n'existe pas.

J'ai fait un début comme
-Bouton Recherche pour InputBox pour saisir le "Dossier" recherché
-Bouton Coller qui va rechercher un "Dossier" et le copie à un endroit mais c'est justement cette macro qui doit être modifier pour rechercher le "Dossier" voulu et non pas celui écrit dans la macro.

Donc j'essaie de combiner l'InputBox avec ma macro RechercheDossier() et surtout que le Dossier recherché soit celui de l'InputBox.

Je continue mes recherches et si quelqu'un à une idée à me proposer ça me serait utile.

D'avance merci!!
 

Pièces jointes

Re : Recherche de texte à partir d'InputBox

Bonjour à tous,

J'ai finalement réussi à faire à peu près ce que je voulais avec mon fichier
mais si quelqu'un ententre un numéro de "Dossier" qui n'exite pas,
on a droit à une belle erreur

Erreur d'exécution '91'

Ma macro est

Sub SelectionDossier()
Dim EntreeUtilisateur As String
EntreeUtilisateur = InputBox("Entrez le numéro de dossier.")
If EntreeUtilisateur = "" Then Exit Sub
Sheets("FinDannée").Select
Cells.Find(What:=EntreeUtilisateur, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate​
Resultat = Range(ActiveCell, ActiveCell.End(xlToRight)).Select

Selection.Copy

Sheets("EnCours").Select
ActiveSheet.Paste​
End Sub​


J'ai essayé avec plusieurs If après la recherche mais rien ne semble fonctionner

Avez-vous une idée à me proposer SVP ???

Merci
 
Re : Recherche de texte à partir d'InputBox

Bonjour,

essaye comme ci-dessous :
Code:
Sub SelectionDossier()
Dim EntreeUtilisateur As String, c As Range
EntreeUtilisateur = InputBox("Entrez le numéro de dossier.")
If EntreeUtilisateur = "" Then Exit Sub
Sheets("FinDannée").Select
Set c = Cells.Find(What:=EntreeUtilisateur, After:=ActiveCell, LookIn:=xlValues, LookAt _
    :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False, SearchFormat:=False)
If Not c Is Nothing Then
    c.Copy
Else
    MsgBox "non trouvé": Exit Sub
End If
Sheets("EnCours").Select
ActiveSheet.Paste
End Sub

bonne fin d'après midi
@+
 
Re : Recherche de texte à partir d'InputBox

Bonjour Pierrot93,

Merci de ta réponse.

Effectivement ça fonctionne très bien avec ta macro lorsque le numéro n'existe pas. 😱

Mais parcontre il ne copie que la cellule du numéro lorsque celui-ci existe et plus toute la ligne jusqu'à la première cellule vide.

J'ai essayé en remettant :
Range(ActiveCell, ActiveCell.End(xlToRight)).Select

Code:
Sub SelectionDossier2()
Dim EntreeUtilisateur As String, c As Range
EntreeUtilisateur = InputBox("Entrez le numéro de dossier.")
If EntreeUtilisateur = "" Then Exit Sub
Sheets("FinDannée").Select
    Set c = Cells.Find(What:=EntreeUtilisateur, After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
    Range(ActiveCell, ActiveCell.End(xlToRight)).Select
If Not c Is Nothing Then
    c.Copy
Else
    Sheets("EnCours").Select
    MsgBox "non trouvé": Exit Sub
End If
Sheets("EnCours").Select
ActiveSheet.Paste
End Sub

Mais ça ne change rien 😕

Je retourne voir ce que je pourrais y changé, si tu as une idée à me proposer...

D'avance merci.
 
- 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
19
Affichages
867
Retour