Recherche puis masquer ligne non trouvées

Résolu
Kyle 62140 Messages postés 37 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
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 .

11 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  2. Kyle 62140 Messages postés 37 Statut Membre
     
    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
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  4. Kyle 62140 Messages postés 37 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Kyle 62140 Messages postés 37 Statut Membre
     
    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
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Zut, j'ai mal lu et masqué les mauvaises !!!
      0
  7. Kyle 62140 Messages postés 37 Statut Membre
     
    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
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  9. Kyle 62140 Messages postés 37 Statut Membre
     
    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
  10. ccm81 Messages postés 11033 Statut Membre 2 434
     
    en haut de ton premier message tu mets à résolu

    bonne fin de journée
    0