[VBA Excel] Extraction intuitive

Pour écrire et partager des tutoriels et des astuces (Excel, Calc et Google Sheets uniquement)
Avatar du membre
GGautier
Membre dévoué
Membre dévoué
Messages : 702
Appréciations reçues : 32
Inscrit le : 18 décembre 2018
Version d'Excel : 2016 FR

Message par GGautier » 15 octobre 2019, 10:19

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
Utilitaire d'aide à l'extraction V3.xlsm
(52.62 Kio) Téléchargé 2 fois
  • 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.JPG
Explication.JPG (115.78 Kio) Vu 54 fois
Principe de fonctionnement :
Fonctionnement.png
Utilitaire d'aide à l'extraction V2.xlsm
(48.44 Kio) Téléchargé 5 fois
Utilitaire d'aide à l'extraction.xlsm
(36.39 Kio) Téléchargé 3 fois
Modifié en dernier par GGautier le 19 novembre 2019, 14:57, modifié 9 fois.
2 membres du forum aiment ce message.
"Il n'y a pas de question idiote, seulement une réponse idiote" ALBERT EINSTEIN (enfin ici on évite). 8-)
Vous cherchez des réponses à vos questions ? regardez par ici ;) http://boisgontierjacques.free.fr/index2.htm
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'333
Appréciations reçues : 294
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 19 octobre 2019, 04:25

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
Vive ces nouvelles saisons qui nous colorent.
isabelle
Avatar du membre
GGautier
Membre dévoué
Membre dévoué
Messages : 702
Appréciations reçues : 32
Inscrit le : 18 décembre 2018
Version d'Excel : 2016 FR

Message par GGautier » 19 octobre 2019, 09:21

Bonjour :)

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

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 ! :)
"Il n'y a pas de question idiote, seulement une réponse idiote" ALBERT EINSTEIN (enfin ici on évite). 8-)
Vous cherchez des réponses à vos questions ? regardez par ici ;) http://boisgontierjacques.free.fr/index2.htm
Avatar du membre
GGautier
Membre dévoué
Membre dévoué
Messages : 702
Appréciations reçues : 32
Inscrit le : 18 décembre 2018
Version d'Excel : 2016 FR

Message par GGautier » 23 octobre 2019, 15:26

J'ai mis à jour mon poste initial avec une version plus "stable" et plus "performante" à mon gout :lole:
"Il n'y a pas de question idiote, seulement une réponse idiote" ALBERT EINSTEIN (enfin ici on évite). 8-)
Vous cherchez des réponses à vos questions ? regardez par ici ;) http://boisgontierjacques.free.fr/index2.htm
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message