Recherche puis masquer ligne non trouvées

Résolu
Kyle 62140 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis sous excel 2010 et je je trouve pas ma réponse La dernière fois ca m'a pris 3 jour pour trouver une petite macro !
Je que je veux faire :
Je lance une macro
un carré apparait me demandant ce que je recherche ( ex: " sortie" )
Je valide
La macro cherche
Trouve les cellules contenant ce mot
et masque toutes les lignes qui ne le contienne pas le mot "sortie".

Voila
Et après une autre macro ré affichera toutes les lignes .

Merci de votre aide , ça fait 2 heure que je cherche sans succès .




A voir également:

11 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Essaies ceci pour demasquer toutes les lignes

Public Sub DemasqueLignes()  
ActiveSheet.Rows("1:" & Rows.Count).EntireRow.Hidden = False  
End Sub

Pour le première partie
est ce que le "mot" est le seul dans la cellule ou bien est il un "sous-mot"

bonne suite
0
Kyle 62140 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
Oui je te remercie
cette macro servira pour refaire apparaitre ce que la première aura masquer .
C'est cette dernière que je voudrais .
Merci pour ta rapidité.
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
et pour la première

Private Sub btMasquer_Click()
Const co = "A"
Const lideb = 2
Dim mot As String, li As Long, lifin As Long, celmot As Object, premli As Long
mot = InputBox("donner un nom")
If mot = "" Then Exit Sub
 ' dernière ligne colonne co
 lifin = ActiveSheet.Range(co & Rows.Count).End(xlUp).Row
With ActiveSheet.Range(co & lideb & ":" & co & lifin)
  ' première occurence eventuelle de mot
  Set celmot = .Find(mot, , , xlWhole)
  If celmot Is Nothing Then Exit Sub
  ' initialiser premli
  premli = celmot.Row
  Do
    li = celmot.Row
    ActiveSheet.Rows(li).EntireRow.Hidden = True
    ' recherche occurence suivante de mot
    Set celmot = .FindNext(celmot)
  Loop While Not celmot Is Nothing And celmot.Row <> premli
End With
End Sub

bonne journée
0
Kyle 62140 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta recherche , je suis largué !
J'ai essayé mais c'est pas ce que je voudrais
Ta macro demande un nom OK
si je lui marque "2" elle masque la ligne N°2
si je lui marque "sortie" elle ne fait rien

alors quelle devrais cherche dans la zone tous les mots "sortie" présent dans une cellule comprise dans la zone de recherche
Et si elle le trouve en F1 et J5 et A2 , elle masque toutes les ligne hormis les ligne 1 , 5 et 2 .
C'est trop compliqué pour moi !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
vois si ceci correspond
https://www.cjoint.com/?3BxqvP4Jkdk

sinon
je t'ai posé une question (post#1) à laquelle tu n'as pas répondu
0
Kyle 62140 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
OK bien reçu le fichier Merci
Je croyais t'avoir répondu au post suivant cette macro "demasqueLigne" fonctionne en effet Elle servira après avoir exécuter la première macro
J'ai essayé sur le fichier que j'ai reçu
Désolé c'est pas ce que je voudrais .
ta macro masque les ligne dont le mot demandé correspond a celui de la colonne A et uniquement de cette colonne là
moi je veux si je demande "toto" qu'elle me trouve les cellule contenant "toto" ou "toto fait du ski" ect , ceci dans une zone comprise entre A6 et L60 part exemple . et quelle masque les ligne ne contenant pas "toto" ou "toto fait du ski" , ect
Puis ensuite lorsque j'ai fini de travailler sur ces cellules , je lance ta deuxième macro pour faire réapparaitre les lignes masquées
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Zut, j'ai mal lu et masqué les mauvaises !!!
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
0
Kyle 62140 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Bravo
C'est exactement ce que je veux t'es un chef .

Une question , a moins que je doive ouvrir un autre post :
comment tu fait pour créer des bouton comme tu as fais et d'y associer une macro ?
Moi j'insère dans la feuille une forme , à laquelle j'y associe une macro
Toi tu a un bouton auquel tu a associer une macro que je ne vois pas dans "macro" mais dans visual basic !
Pourquoi
est ce fait qu'il y ai "private sub .." comme nom ?
Si c'est trop long a m'expliquer temps pi , je verrai plus tard
Je suis trop content que tu m'ais aidé .
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
pour mettre un bouton (contrôle Active X) (excel 2003)
Affichage/barres d'outils/Boite à outils contrôle
L'équerre bleue permet de basculer du mode création au mode exécution
donc
clic sur l'équerre
choisir le bouton
le mettre dans la feuille
clic-droit sur le bouton
Propriétés
- le nom j'ai l'habitude de le commencer par bt (comme bouton)
Clic-clic sur le bouton te place dans le module de la feuille dans la procédure
Private Sub btMasquer_Click()
Tu n'as plus qu'à ...
Retour dans la feuille
Clic sur l'équerre bleue (quitter le mode création)
et c'est parti

bon courage
0
Kyle 62140 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Top chef
Il ne me reste plus qu'a découvrir tout çà , c'est déjà plus clair
je te remercie encore
PS: comment signaler aux autres lecteurs que ce post est clôturé , que la réponse à ma question a été donnée entièrement ?
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
en haut de ton premier message tu mets à résolu

bonne fin de journée
0