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, 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
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
ne sois pas fâchée contre patricktoulon : quand il a écrit : « (elle je suis sur c'est pas bon) »,
il parlait de la ligne d'En-tête, pas de toi ! tu peux donc essayer son code VBA, et lui donner
ton avis sur sa solution.
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.
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