Macro Excel Filtre élaboré
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Macro Excel Filtre élaboré



  1. #1
    invite4781cad1

    Macro Excel Filtre élaboré


    ------

    Bonjour et merci d'avance pour votre support
    J'ai une Macro qui recherche dans une liste par mot clé a l'aide d'un bouton
    Je ne trouve pas la commande pour faire une recherche sur n'importe ou dans la cellule
    présentement pour effectuer une recherche je dois mettre une étoile avant le mot
    donc ma question est comment je peut mettre dans mon code pour ne pas avoir besoin de mettre une étoile pour faire une recherche
    plus élargie
    voici ma macro
    Code:
    Private Sub CommandButton1_Click()
    Range("A4:E24308").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
            Range("A1:E2"), Unique:=False
        ActiveWindow.SmallScroll Down:=-33
    End Sub
    
    Private Sub CommandButton2_Click()
    
    End Sub
    
    Private Sub Recherche_Click()
    
    End Sub

    -----

  2. #2
    Optimix

    Re : Macro Excel Filtre élaboré

    Difficile de répondre sans voir le fichier complet.
    Pour rechercher un mot dans une cellule, on peut utiliser la fonction Instr(chaine,mot). Exemple :

    On tape "Saint-Leu-la-Forêt" dans la cellule A1 et on lance la macro suivante :
    Code:
    Sub Macro1()
        Dim chaine As String, motCherche As String
        Dim Rang As Integer
        
        motCherche = "Forêt"
        chaine = LCase(Cells(1, 1))
        Rang = InStr(chaine, LCase(motCherche))
        If Rang = 0 Then
            MsgBox "Ce mot ne se trouve pas dans la cellule A1."
        Else
            MsgBox "Ce mot se trouve dans la cellule A1 à partir du " & Rang & "e caractère."
        End If
    End Sub
    Dernière modification par Optimix ; 21/11/2013 à 05h25.

  3. #3
    invite4781cad1

    Re : Macro Excel Filtre élaboré

    Merci Optimix pour ta réponse
    Je viens de joindre le fichier Excel
    je dois faire un filtre sur un mot recherché et afficher seulement les ligne qui contiens le mot
    mais le mot n'est pas toujours entier exemple je cherche "tomate" et dans la cellule je peut avoir "jus de tomate" je dois donc afficher
    tous les lignes qui comprend le mot tomate
    Merci d'avance

  4. #4
    invite4781cad1

    Re : Macro Excel Filtre élaboré

    Désoler deuxième essais pour la pièce jointe de mon fichier
    Fichiers attachés Fichiers attachés

  5. A voir en vidéo sur Futura
  6. #5
    Optimix

    Re : Macro Excel Filtre élaboré

    Juste un petit exemple à étudier qui masque toutes les lignes contenant le mot saisi dans la zone prévue à cet effet.
    Annuler permet de faire réapparaître ces lignes.
    Fichiers attachés Fichiers attachés

  7. #6
    Optimix

    Re : Macro Excel Filtre élaboré

    Désolé, j'ai fait le contraire : supprimé toutes les lignes qui contiennent le mot. Donc je revois ma copie demain matin, car c'est affreusement long. Question pour aller plus vite : ne pourrait-on pas colorier les cases de la colonne A au lieu de masquer les lignes ?

  8. #7
    invite4781cad1

    Re : Macro Excel Filtre élaboré

    Merci encore une fois de ton intervention Optimix cela est très apprécier
    Effectivement j'ai testé et cela ne fonctionne pas, pour ta question il est mieux de caché les lignes qui ne comprenne pas le mot clé pour la raison que sur 23000 lignes il serait trop long de faire un scroll pour descendre jusqu'en bas donc faire comme une option de filtre et cachée les ligne serait le plus rapide et de gardé l'ordre des catégories est encore plus rapide

  9. #8
    Optimix

    Re : Macro Excel Filtre élaboré

    Le masquage d'une ligne est une opération assez longue ; lorsqu'on doit en effacer plus de 23000 pour n'en conserver qu'une (par exemple), voire aucune, on sent tout de suite qu'on peut mieux faire. A la réflexion, je crois que le mieux serait d'ajouter une feuille "Extraction" à votre classeur et de la remplir avec les lignes contenant le mot recherché.

    Les avantages de cette solution :
    - on ne touche jamais à la feuille contenant des données
    - on peut protéger la feuille des données à l'aide d'un mot de passe
    - on peut imprimer la feuille d'extraction
    - l'extraction des données est infiniment plus rapide.

    Je vous fais une proposition dans la matinée.

  10. #9
    Optimix

    Re : Macro Excel Filtre élaboré

    Exemple de traitement avec feuille d'extraction.
    Fichiers attachés Fichiers attachés

  11. #10
    invite4781cad1

    Re : Macro Excel Filtre élaboré

    Tu est Génial Optimix
    Ta proposition est excellente je conserve le format
    Un très gros merci

  12. #11
    invite4781cad1

    Re : Macro Excel Filtre élaboré

    Autre question mais Philo cette fois
    Dans ma raison de faire un filtre et toi de penser a une extraction qu'elle est pour toi la meilleur solution de pensé en premier lieu sur un code
    d'une analyse de donné sur un fichier Excel
    encore merci pour ton support.

  13. #12
    Optimix

    Re : Macro Excel Filtre élaboré

    Pour moi la meilleure solution est celle qui consomme le moins de temps machine (priorité 1) et le moins de ressources possible (priorité 2).
    Cela dit, lorsque j'entends le mot "données", je pense à un SGBD (comme Access) et jamais à Excel.
    Bonne continuation.

Discussions similaires

  1. macro excel
    Par invited7c32506 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 06/05/2011, 09h54
  2. macro excel
    Par alovesupreme dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/01/2009, 17h12
  3. macro Excel
    Par gwendoline dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 11/10/2008, 19h06
  4. macro excel
    Par invite4a5096a6 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 09/05/2006, 07h55
  5. Pb avec une macro sur excel!!
    Par invitefc1cfa72 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 05/04/2006, 07h51