Macro VBA : Création d'onglet et filtrage automatique

Bonjour,

Je souhaite créer une macro permettant de trier une base de donnée par rapport à la colonne C et ajouter les onglets associés (la base est évolutive de nouvelles lignes et de nouveaux onglets pourront être crées).

Ci-joint mon fichier de base et le fichier avec le résultat escompté.

Merci de votre aide.

110exemple.xlsm (19.39 Ko)
70fichier-base.xlsm (12.61 Ko)

Salut,

J’ai considéré que tes codes de la colonne A étaient uniques, que les données en place devaient le rester et que l’incrémentation des codes se faisait de manière logique.

Dans le fichier ci-joint, j’ai simulé des feuilles manquantes et j’ai effacé quelques données sur les autres feuilles.

Lorsque tu lances la macro par le bouton en place dans la cellule H1, ça devrait faire le travail attendu.

Si ça va dans le bon sens, on pourrait voir si c’est gênant de ne pas avoir les nouvelles feuilles dans l’ordre d’apparition sur la feuille de base, etc.

Cordialement.

231essai-22-02.xlsm (32.60 Ko)

Bonjour Yvouille,

Merci beaucoup cela marche du tonnerre !

J'ai encore deux petites requête afin que ça marche parfaitement :

- Lorsque l'on lance la macro prévoir la suppression de tous les onglets sauf de l'onglet "CC".

Car Imaginons que je supprime une ligne ou modifie de l'information sur une ligne déjà traitée elle doit disparaître de son onglet.

-Enfin générer en effet les onglets par ordre d'apparition sur la feuille de base.

Merci beaucoup.

Salut,

Selon ta nouvelle demande - quand même très légèrement différente de la première - voici un nouvel essai.

C'est bien entendu plus simple ainsi, puisqu'il ne faut pas tenir compte des données en place

Chaleureusement.

147essai-23-02.xlsm (30.70 Ko)

Merci Beaucoup pour votre aide et votre rapidité.

Je clôt donc le sujet et je vais essayé d'améliorer la macro tout seul.

Cordialement

je vais essayé d'améliorer la macro tout seul.

Que manque-t-il à la macro que je t'ai proposée ?

je vais essayé d'améliorer la macro tout seul.

Que manque-t-il à la macro que je t'ai proposée ?

Bonjour Yvouille,

Voila le but de mon fichier n'est pas du tout terminé ^^.

L'étape suivante est :

Dans mon tableau (CC) que j'ai dans un premier temps importé, je souhaiterai alterner 2 couleurs en fonction de la valeur de la colonne N. Lorsque la valeur change alors la couleur de la ligne change.

Exemple :

TUTU (Bleu)

TUTU (Bleu)

TITI (Rouge)

TOTO (Bleu)

TOTO (Bleu)

TUTU (Rouge)

Voir l'exemple proposé en copie.

28demande-01-03.xlsm (32.55 Ko)

Salut,

Ce serait sympa de répondre à mes questions quand je te les pose et non pas d’attendre d’avoir à nouveau besoin de services pour reprendre contact.

La mise en forme souhaitée est en place sur la feuille ‘’CC’’ et tu veux retrouver autre chose lors des reports ou il n’y a déjà pas de mise en forme sur la feuille ‘’CC’’ ??

De plus, dans ton nouvel exemple, il n’y a plus qu’une variable dans la colonne C ; est-ce bien logique ?

Peux-tu me fournir un fichier avec une feuille ‘’CC’’ exactement comme elle se présente avant le lancement de la macro, si possible avec 2 ou 3 variables en colonne C (mais pas non plus 10'000 lignes) ?

Chaleureusement.

Bonsoir,

Veuillez m'excusé quand à ma ponctualité sur le site.

Actuellement et régulièrement en déplacement je ne peux pas m'accorder le temps que je souhaiterai afin d'améliorer ce petit projet personnel qui pourrait au final améliorer mon quotidien dans mon travail.

Non il n'y a pas de mise en forme conditionnel.

Oui c'est logique car je veux effectuer le traitement des lignes avant les reports donc pas besoin de rajouter toutes les cases ...

La source étant un fichier d'appartenance à mon entreprise, je ne peux pas mettre l'ensemble du fichier et des données.

Si vous êtes intéressé, je peux vous faire part de l'objectif final du fichier en MP.

Afin de comprendre le but de la macro avec son avancement actuel et d'optimiser le résultat final.

Cordialement.

Salut,

Je n'ai pas envie de passer en privé afin de continuer la discussion. Fournis-moi juste un fichier modèle tel que demandé :

Peux-tu me fournir un fichier avec une feuille ‘’CC’’ exactement comme elle se présente avant le lancement de la macro, si possible avec 2 ou 3 variables en colonne C (mais pas non plus 10'000 lignes) ?

Amicalement.

Bonjour,

Comme demandé voici le fichier « supportVD » sur lequel je travail, après la réalisation de la première macro « récupération de données ».

Je joint un autre fichier « Objectif » qui explique étape par étape (dans les onglets, les cases en jaune) le but recherché de la macro. Je suis preneur pour améliorer et échanger avec vous à propos de la démarche.

Merci de vos retours.

Amicalement.

14objectif.xlsm (563.90 Ko)
11supportvd.xlsm (247.75 Ko)

Bonjour,

Je me permet de relancer le sujet.

Merci de vos idées.

Cordialement

Salut,

Désolé de t’avoir laissé un peu en plan. Cependant, j’avais réellement l’intention de m’occuper de ton problème ce week-end.

Je ne comprends pas très bien pourquoi tu désires des listes déroulantes dans la colonne H de la feuille ‘’CONVOYEUR ENTREE (5)’’ du fichier ‘’Objectif’’ et ne me suis pas occupé de cette partie. En effet, à quoi te sert-elle, alors qu’il semble que tu reportes simplement le texte correspondant à la référence de la colonne A ? Si c’est bien le cas, il y a quand même de manière plus simple de rapporter ce texte.

Je ne me suis pas trop cassé la tête en ce qui concerne la mise en page finale avant de voir si ça va déjà dans la bonne direction.

Ta demande semble sans fin : je ne sais pas si je te suivrais jusqu’au bout.

Amicalement.

11supportvd-v1.xlsm (175.73 Ko)

Bonjour,

Oui, c'est exactement dans la bonne direction !

Merci beaucoup.

La liste déroulante est l'une des choses les plus importante car elle me permet de récupérer de la donnée de l'onglet "CC" qui a été supprimée par les doublons. Pour comprendre voir case "D15" de la feuille "CONVOYEUR ENTREE (4)" du fichier "Objectif".

Un seul contrôle va me permettre d'indiquer plusieurs "causes racines" et de récupérer les informations associés (ex: problème possible)

Pour le reste je serai capable de me débrouiller avec mes connaissances.

Cordialement.

Salut,

Dans le fichier ci-joint, tu as les textes de la colonne d’origine B qui sont reportés dans la colonne finale H. Si ce n’est pas ça que tu souhaites et que tes listes déroulantes sont indispensables, il faudra que tu m’expliques mieux ce que tu souhaites.

Prenons la feuille ‘’ CONVOYEUR ENTREE (5)’’ de ton fichier ‘’Objectif’’. En H3, tu as une liste déroulante avec une seule donnée comme source, soit =CC!$B$2. Pour moi, ça correspond exactement à ce que fait mon présent fichier.

En H15 en revanche, tu as une source un peu plus grande, soit =CC!$B$16:$B$20. J’ai alors bien vu qu’en colonne I, le texte change en fonction de ton choix en H15, mais je n’arrive pas à comprendre pourquoi tu prends comme source =CC!$B$16:$B$20.

Tu as bien une explication dans la cellule D1 de la feuille ‘’ CONVOYEUR ENTREE (4)’’, mais je ne sais pas si ça se rapporte vraiment à ce problème et – si oui – ce n’est pas très clair non plus.

Dis-moi donc alors si tu as absolument besoin de ces listes déroulantes ; si oui, comment en déterminer la source.

Pour tes explications, reste sur le fil, ne donne pas d’informations dans les fichiers Excel, c’est beaucoup plus compliqué à en retrouver la trace et l’historique.

Je présume que par la suite, ta colonne finale I sera également automatisable.

Amicalement.

8supportvd-v2.xlsm (179.33 Ko)

Bonsoir,

Je souhaite que la colonne H permettent de récupérer la colonne B de la feuille "CC" ayant le même type de contrôle "colonne P", le même component "colonne S" et le même groupe description "colonne C".

Il arrive parfois d'avoir un contrôle d'un composant identique mais suivant ce que l'on choisit en colonne H, j'exploiterai des résultats différents en colonne I, etc...

Mais la suite des colonnes je serai capable de le faire tout seul (grâce à des recherche V) et oui ça sera automatisable suivant les choix de ma colonne H.

Exemple plus marquant :

Je souhaite contrôler le témoin d'usure d'un pneu.

s'il n'est pas bon, différent choix s'offre à nous :

  • Risque de pneu lisse implique une conséquence de glissement (risque d'accident)
  • Risque de crevaison implique une conséquence de pneu à plat (arrêt de la voiture)

Au final le contrôle reste le même mais suivant le choix de l'utilisateur il y aura différentes données, voila pourquoi avoir supprimé les doublons (pour faire le contrôle une seul et unique fois).

Encore merci de ta patience (cette liste déroulante est ma dernière requête).

Amicalement

Salut,

Afin de voir si je vais dans le bon sens, je te fournis le fichier ci-joint dans lequel j’ai isolé la feuille ‘’Convoyeur Entrée’’ ; feuille que je l’ai triée selon la colonne P en premier et selon la colonne S en deuxième.

Prenons l’exemple des lignes 6 à 8 et notons que la ligne 7 va disparaitre car elle est en doublon – selon la colonne N – avec la ligne 6.

Je n’ai alors pas compris si – pour les 2 lignes 6 et 8 qui resteront et qui comportent ‘’la position’’ en colonne P, tu souhaites deux listes déroulantes, l’une avec le texte en B6 et l’autre avec le texte en B8 ou si tu ne souhaites qu’une seule ligne déroulante comportant les deux textes B6 et B8.

A te relire.

Bonjour,

Je souhaites pour cet exemple deux listes différentes l'une celle de la ligne 6 avec les données "B6" et "B7" avant suppression.

L'autre tout seul car c'est pas la même composant colonne "S" que l'on contrôle.

Pour créer la liste l'ensemble des données des colonnes P, S et C doivent être identiques et le choix que l'on propose c'est la colonne B.

j'espère être assez claire :s.

Amicalement

Salut,

J’ai tenté de modifier le code dans le sens souhaité. A la fin de la macro - sur les feuilles créées, dans la colonne H - tu as soit un texte en place, soit une cellule vide avec un liste déroulante à disposition lorsqu’il y a plusieurs textes à choix.

Ta feuille de base à un zoom à 70% et les listes déroulantes - dans les feuilles créées - sont peu lisibles avec un tel affichage. On pourrait modifier le zoom des feuilles créées dans la macro.

Pour créer les listes déroulantes, je dois utiliser des virgules afin de séparer les différentes lignes et les virgules présentes dans tes textes engendrent des problèmes (ça sépare le texte qui en contient en deux lignes) ; je les ai donc remplacées par des tirets. Ces virgules - à utiliser dans le code anglais - sont ensuite ''traduites'' par des points-virgules si tu vas voir les listes inscrites sous ''Validation des données''.

Cordialement.

35supportvd-v3.xlsm (187.96 Ko)

Bonjour Yvouille,

j'ai regardé rapidement le fichier et cela correspond à mes attentes c'est parfait !

un grand merci.

Pour le zoom 100% j'essayerai de le faire seul (je suppose qu'à l'ouverture de "CC" au début il faut zoomer à 100%).

Pour les virgules je viens de comprendre et je regarderai si ça me fait pas de problèmes.

En tout cas je vous remercie énormément pour cette avancée. Je n'ai plus de demande concernant ce fichier.

Vous souhaitant le meilleur. Je vous tiendrai au courant lors de la mise en marche de la macro avec le fichier source la semaine prochaine (car actuellement en déplacement).

Je clôturerais donc le sujet la semaine prochaine. Un grand merci encore !

Amicalement.

Rechercher des sujets similaires à "macro vba creation onglet filtrage automatique"