[VBA Excel] Extraction intuitive

Bonjour le forum

Je propose ici un code que j'utilise pour faire des extractions "intuitives". Je vous laisse découvrir mon fichier. N'hésitez pas à me laisser des critiques constructives

PatchNotes V3 :

* Ajout : La possibilité de choisir si l'utilisateur veux importer une feuille (ou une ensemble de feuilles) ou réaliser une extraction intuitive.

* Optimisation : Contrôle des nom de feuilles feuilles importées.

* Optimisation : Gestion des erreurs

PatchNotes V2 :

* Ajout : La possibilité d'utiliser un fichier Excel déjà ouvert comme fichier source.

* Ajout : L'utilisateur peut choisir de fermer automatiquement ou non le fichier source après extraction.

* Optimisation : Si l'utilisateur essaye d'ouvrir un fichier déjà ouvert, un test de sécurité est réalisé.

* Optimisation : La feuille comportant l'extraction est maintenant créé juste avant le début de l'extraction.

Comment réaliser une extraction intuitive :

  • Téléchargez le fichier ci-dessous
  • Ouvrez le fichier
  • Lancez le code
  • Ouvrez ou sélectionnez le fichier dans lequel vous souhaitez faire une extraction. Le fichier sélectionné sera ouvert en lecture seule pour éviter touts risques de corruption.
  • Sélectionnez la zone où effectuer l'extraction intuitive (avec les entête si possible). La sélection ne doit pas être en champs discontinues
  • Validez OUI si la sélection comporte des entêtes de colonnes
  • Tapez dans la zone de recherche un critère d'importation qui peut être un mot, une suite de lettres, un chiffre ou un nombre
  • Si l'extraction est concluante (si le critère de recherche est trouvé dans la zone de recherche), une feuille d'extraction est crée
  • Toutes les lignes comprenant votre critère de recherche y sont importées
  • Pour facilité l'analyse de l'extraction, les résultat seront mis en surbrillance jaune et les caractères en gras.

Si, sur une même ligne de la plage se trouve plusieurs fois le terme cherché cette ligne sera extraite qu'une seul fois. Vous pouvez extraire autant de fois une ligne qu'il y a le terme cherché sur cette même ligne en mettant à l'état "False" le paramètre ci-dessous dans le projet VBA (Module 1).

CtrlExt = True

En espèrent rendre service

Fonctionnement :

explication

Principe de fonctionnement :

fonctionnement

Bonjour GGautier,

Merci pour ce code, j'aime bien le résultat de l’extraction et en plus avec les caractères cherchés au format "gras"

super travail !

isabelle

ps/

pour que le résultat de la recherche soit plus marqué,

je remplacerais cette ligne

FeuilExt.Cells(Max, Cel.Column).Characters(InStr(1, FeuilExt.Cells(Max, Cel.Column).Value, LeMessage),Len(LeMessage)).Font.Bold = True

par

    With FeuilExt.Cells(Max, Cel.Column).Characters(InStr(1, FeuilExt.Cells(Max, Cel.Column).Value, LeMessage), Len(LeMessage)).Font
        .Bold = True
        .Color = RGB(255, 0, 0)  'adapter à couleur désirée
    End With

Bonjour

Merci pour ce retour positif qui me fais très plaisir

Je travail déjà sur une version améliorée du code et effectivement dans mon nouveau code je fais un remplissage de la cellule en jaune.

J'ai aussi modifié le code pour ne pas avoir plusieurs fois la même ligne extraite si le terme cherché se trouve plusieurs fois dans la même ligne.

Je reviendrai ici d'ici quelques jours pour vous partager mon update bon weekend !

J'ai mis à jour mon poste initial avec une version plus "stable" et plus "performante" à mon gout

Rechercher des sujets similaires à "vba extraction intuitive"