Microsoft 365 rechercher un mot dans une colonne et afficher la ligne du classeur contenant le mot

kamyolande

XLDnaute Nouveau
Bonjour, je suis débutante en vba.
Merci d'avance pour vos contributions.
Je souhaite dans la feuille 'conseille' avoir un bouton recherche tel que quand je clique sur 'recherche' il verifie si le mot saisi dans la case E2 d e la feuille se trouve dans la colonne A6:A2000. et lorsqu' il trouve le mot il copie toutes les information de la ligne dans la feuille 'résultat'

par exemple: je cherche le mot banane que je saisi dans la cellule E2.
après avoir cliqué sur recherche, mes informations étant enregistré dans la feuille 'conseille' de la ligne A6 à A 2000,
le code VBA et retrouve dans sur la ligne 6,10 , 100 et autre des phrases contenant le mots banane.
alors il copie les ligne 10, 100, ... dans la feuille résultat.
 

Pièces jointes

  • recherche.xlsx
    10.7 KB · Affichages: 20

Jacky67

XLDnaute Barbatruc
Bonjour, je suis débutante en vba.
Merci d'avance pour vos contributions.
Je souhaite dans la feuille 'conseille' avoir un bouton recherche tel que quand je clique sur 'recherche' il verifie si le mot saisi dans la case E2 d e la feuille se trouve dans la colonne A6:A2000. et lorsqu' il trouve le mot il copie toutes les information de la ligne dans la feuille 'résultat'

par exemple: je cherche le mot banane que je saisi dans la cellule E2.
après avoir cliqué sur recherche, mes informations étant enregistré dans la feuille 'conseille' de la ligne A6 à A 2000,
le code VBA et retrouve dans sur la ligne 6,10 , 100 et autre des phrases contenant le mots banane.
alors il copie les ligne 10, 100, ... dans la feuille résultat.
Bonjour à tous
Autre méthode par filtre
 

Pièces jointes

  • recherchekamyolande.xlsm
    19.8 KB · Affichages: 12

patricktoulon

XLDnaute Barbatruc
bonjour
un simple filtre et copy et basta
mettre le code de la sub dans ton bouton activX
ou affecte la sub test au bouton si c'est un control formulaire
VB:
Sub test()
    With ActiveSheet.Range("$A$5:$D$10")
        .AutoFilter Field:=1, Criteria1:="=*" & [E2] & "*"
        .Offset(1).Copy Sheets("resultat").Cells(Rows.Count, 1).End(xlUp).Offset(1)
        .AutoFilter
    End With
End Sub

j'oubliais :
j'explique pour ceux qui se poseraient des questions sur le pourquoi de "l'offset(1)"
autofilter garde toujours la ligne 1 (dans le quel il met ses petit boutons de menu filtre
alors si je filtrais A6:A10 ca tomberait juste puisque banane y est en ligne 1
mais si il n'y était pas se serait 1 ligne gardée pour rien donc se serait une erreur
donc je filtre avec la ligne d’Entête (elle je suis sur c'est pas bon) et je prends l'offset(1)
comme ça je n'ai pas besoins de contrôler mon start du filtre
 
Dernière édition:

kamyolande

XLDnaute Nouveau
Merci à tous pour votre contributions si rapide.

J'aimerais si possible passer au niveau supérieur.
Est ce que le résultat de ma recherche , je pouvais être sur la feuille conseille mais en tète de liste au lieu de les avoir dans la nouvelle feuille réponse. Voire le résultat de l'affichage avant et après la recherche du mot dans le fichier joint.

Merci
 

Pièces jointes

  • recherche (1).xlsm
    24.6 KB · Affichages: 16

kamyolande

XLDnaute Nouveau
bonjour
un simple filtre et copy et basta
mettre le code de la sub dans ton bouton activX
ou affecte la sub test au bouton si c'est un control formulaire
VB:
Sub test()
    With ActiveSheet.Range("$A$5:$D$10")
        .AutoFilter Field:=1, Criteria1:="=*" & [E2] & "*"
        .Offset(1).Copy Sheets("resultat").Cells(Rows.Count, 1).End(xlUp).Offset(1)
        .AutoFilter
    End With
End Sub

j'oubliais :
j'explique pour ceux qui se poseraient des questions sur le pourquoi de "l'offset(1)"
autofilter garde toujours la ligne 1 (dans le quel il met ses petit boutons de menu filtre
alors si je filtrais A6:A10 ca tomberait juste puisque banane y est en ligne 1
mais si il n'y était pas se serait 1 ligne gardée pour rien donc se serait une erreur
donc je filtre avec la ligne d’Entête (elle je suis sur c'est pas bon) et je prends l'offset(1)
comme ça je n'ai pas besoins de contrôler mon start du filtre
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 081
Membres
103 457
dernier inscrit
fab2614