Creer une macro pour filtrer des parametres

Bonjour, je souhaiterais créer une macro qui filtre des paramètres dans une feuille d'un classeur excel , demande si la logique est "et" ou "ou" , copie les lignes contenant les paramètres recherchés et les colle dans une deuxième feuille du classeur qui est remise à zero à chaque lancement de la macro alors que la feuille de données reste intacte. Voir le detail en dessous si ce n'est pas abuser...

j'ai "essayé" de rédiger la macro en francais pour etre le plus precis possible mais suis totalement incapable de m'en sortir pour ecrire le programme. Je pensais que c'etait une macro de base pour travailler mais n'ai pas su trouver de modeles approchantsJe suis nouveau, veuillez m'excuser si ma demande n'est pas adaptée ou si je n'ai pas respecté les usages de excel pratique

Serge Quiceti

Nom de la macro : filtrer_portefeuille

Nom du classeur : "portefeuille.xlsm".

Contient 2 feuilles de calcul appelées "contrats" et "résultats"

Dans la feuille de calcul : "contrats" on utilise un nombre illimité de cellules avec un nombre illimité de colonnes et de lignes.

La ligne numéro 1 permet d'attribuer un titre à chaque colonne.

Rôle de la macro

La macro devra filtrer des critères qui correspondent à des données présentes dans n’importe quelle cellule de la feuille "contrats » contenant des données. Ce pourront être des nombres, des dates, des textes, etc

Sélection des critères de filtre

Au lancement de la macro, une msgbox numéro 1 demande de définir en les écrivant dans une fenêtre de la même msgbox, tous les critères à filtrer et existant dans la feuille « contrats », sans limite de nombre, sans casse particulière, de tous formats et séparés les uns des autres par une virgule. Le texte de la msgbox N°1 indiquera : «Inscrivez dans la fenêtre tous les critères que vous souhaitez filtrer en les séparant par une virgule »

Validation de la sélection par un bouton OK dans la même msgbox

Choix de la logique du filtre

Le fait de cliquer sur OK fait apparaitre une deuxième msgbox n°2 concernant le choix entre "et » et "ou" dans laquelle il y a 2 boutons

Intitulé des boutons : ("oui" et "non" ou si cela est possible un bouton "et" et un bouton "ou").

Un texte explique : "en choisissant "oui" (ou "et") le filtre sélectionnera uniquement les lignes dans lesquelles la totalité des critères sollicités seront présents simultanément, tandis qu'en choisissant "non" (ou "ou") le filtre sélectionnera toutes les lignes dans lesquelles au minimum un critère sollicité sera présent.

déroulement du filtre en cas de réponse "oui" ("et"),

dans la feuille "contrats":

  • Si au moins une ligne contient la totalité des critères recherchés :

-copie de toutes ces lignes contenant la totalité des critères inscrits dans la msgbox 1

- si l'action aboutit à la copie d'au moins une ligne, une msgbox n° 4 affichera le message "copie réussie".

- une fois la copie des lignes sélectionnées dans la feuille "contrats » effectuée,

- ouverture de la feuille du classeur nommée "résultats"

- effacement des données qu'elle contient s’il y en a afin que la totalité des cellules de la feuille résultats soit vide.

- collage sur la feuille "résultats", des lignes sélectionnées et copiées par le filtre dans la feuille « contrats » en commençant à la cellule A1

- si des lignes contenant les paramètres recherchés sont collées dans la feuille "résultats" une message box n°5 indiquera "filtrage réussi», ce qui induira un retour à la feuille "contrats" par un bouton OK

  • si aucune ligne ne contient la totalité des critères recherchés une msgbox n°6 affichera le message: "il n'y a pas de données correspondant à votre recherche" et proposera un bouton "retour à la feuille "contrats".

- retour à la feuille "contrats" si ce bouton est activé

- aucune ligne ne sera copiée

déroulement du filtre en cas de réponse "non" ("ou"),

Dans la feuille "contrats":

  • Si au moins une ligne contient au minimum un des critères recherchés :

-copie de toutes ces lignes contenant au minimum un des critères inscrits dans la msgbox 1

- si l'action aboutit à la copie d'au moins une ligne, une msgbox n° 7 affichera le message "copie réussie".

- une fois la copie des lignes sélectionnées dans la feuille "contrats » effectuée,

- ouverture de la feuille du classeur nommée "résultats"

- effacement des données qu'elle contient s’il y en a afin que la totalité des cellules de la feuille résultats soit vide.

- collage sur la feuille "résultats", des lignes sélectionnées et copiées par le filtre dans la feuille « contrats » en commençant à la cellule A1

- si des lignes contenant les paramètres recherchés sont collées dans la feuille "résultats" une message box n°8 indiquera "filtrage réussi»,

- ce qui induira un retour à la feuille "contrats" par un bouton OK

  • si aucune ligne ne contient au moins un des critères recherchés une msgbox n°9 affichera le message: "il n'y a pas de données correspondant à votre recherche" et proposera un bouton "retour à la feuille "contrats".

- retour à la feuille "contrats" si ce bouton est activé

- aucune ligne ne sera copiée

---------------------------------------------------------------------------------------------------------------------------

Lors de la fermeture du classeur "portefeuille", le fichier sera automatiquement enregistré dans le dossier source

une fois l'enregistrement dans le dossier source effectué.

- un enregistrement automatique sera effectué sous le nom du fichier dans un dossier cloud dont le chemin sera préétabli.

- puis une fois le nouvel enregistrement effectué réalisation d'un enregistrement sous le nom du fichier sur un support amovible dont le chemin sera préétabli en tenant compte du changement possible de lettre définissant le volume

---------------------------------------------------------------------------------------------------------------------------

Chaque ouverture du classeur se fera toujours par défaut sur la feuille contrats

Bonjour quiceti et

Alors pour commencer, publier un roman ne fera que faire fuir un potentiel contributeur

Ensuite, ce forum n'est pas là pour faire à votre place, mais simplement pour vous aider

Sino, si le cœur vous en dis, une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum et notamment :

  • Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Merci pour votre compréhension et votre participation

Cordialement

Rechercher des sujets similaires à "creer macro filtrer parametres"