Recopier des colonnes d'un onglet dans un autre selon des critères

Bonjour,

Je chercher depuis plusieurs semaine (en navigant sur les différents sites) une solution pour dupliquer des colonnes d'un onglet dans un autre du même fichier. A travers mes différentes lectures, je crois comprendre qu'il n'y a pas d'autres solutions que de passer par des Macros. Aie ! je ne sais pas faire les macros. Je me dis : ce n'est pas grave, je vais essayer de comprendre comment ça fonctionne et je devrais pouvoir en créé en suivant les différents conseils. J'ai trouvé plusieurs postes qui me semblaient très proche de ce que je souhaite, j'ai donc tenter de faire des copier/coller... Mais j'ai beaucoup de mal à comprendre le langage VBA et je suppose qu'il y a des erreurs. Ce n'est pas faute d'avoir chercher mais malheureusement chaque fois que je pense arriver au but, il y a un bug et ça ne fonctionne pas. Donc me voilà, parmi vous pour demander de l'aide si possible.

Vous trouverez un de mes fichiers ci-joint.

Onglet 1 : Les différentes tables

Onglet 2 La base de données (qui sera alimentée régulièrement). La feuille est composée de 2 parties :

- Les colonnes A à M sont complétées manuellement (certaines à l'aide de menus déroulants),

- Les colonnes N-O-P, Q-R-S,T-U-V... permettent de savoir le client 1, 2,3 (etc) est refacturé.

Mon objectif :

Alimenter l'onglet "Détail client 1" (idem pour les suivants) de la manière suivante :

En sélectionnant les 3 filtres : Client, année, mois (filtres situés en B2-B3-B4), je souhaite que les colonnes dans le tableau dessous (identiques à celles de la base de données) soient complétées.

J'espère avoir été la plus claire possible.

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

Bonjour GMB,

Merci beaucoup pour ta réponse.

Pas tout à fait.

Je cherche à recopier dans l'onglet "Détail client 1" toutes les colonnes mais je ne veux que les lignes correspondantes aux filtres.

Autrement dit, je souhaite avoir le même résultat que si j'appliquais dans l'onglet "Base frais" les filtres "Année" (=2021 par exemple), "Mois" (=janvier par exemple) et "Client" (client 1 par exemple).

J'ai réussi à obtenir ce résultat avec des formules RECHERCHE ou INDEX EQUIV mais les lignes pour lesquelles le critères ne correspond pas sont vides et viennent donc polluer mon fichier.

Je remet mon fichier Excel avec le résultat que je souhaite obtenir dans l'onglet "Détail client 1".

Merci pour votre aide.

Nouvelle version.

Bye !

D'après ce que je peux voir, seules les colonnes N et O se modifient en fonction du filtre client.

Ce que je souhaite c'est qu'à chaque fois que je souhaite générer mon tableau (on va dire chaque fin de mois), l'onglet sera vide (exceptées les lignes 1 à 7 : les 3 filtres et les entête de colonnes) et que les lignes du tableau se recopient en fonction des filtres.

Exemple pour le client 1 :

Si les conditions suivantes sont réunies (conditions que je choisi en sélectionnant les filtres dans l'onglet Détail client) :

- Si la case N3 de l'onglet "BaseFrais" est à OUI,

- et si la case C3 de l'onglet "Base frais" est = "Janvier" (par exemple)

- et si la case D3 de l'onglet Base Frais" est = "2021" (par exemple)

alors on recopie la ligne dans l'onglet "Détail client"

Idem pour le client 2 sauf que l'on prend la case Q3= OUI (au lieu de N3) etc...

Nouvelle version.

Bye !

Bonjour,

Super, vous avez compris le principe. C'est tout à fait ce que je souhaite.

En revanche lorsque je teste en modifiant les filtres plusieurs fois, tout ne fonctionne pas.

Exemples :

- Lorsque je rajoute ou modifie des lignes dans la base en appliquant 2022 => aucune ligne ne ressort.

- Lorsque je ne souhaite laisser un des filtre vide => cela ne fonctionne pas (le lignes correspondant au résultat précédent restent affichées).

- Si je modifie le nom du client, plus aucune ligne ressort non plus

S'il est plus simple de n'avoir qu'un seul onglet (Détail Client) ce n'est pas un problème pour moi. Je m'adapterai.

Merci à vous.

Bonjour

Nouvelle version

Pour modifier les noms, tu dois le faire dans la feuille "Tables" et dans chacun des noms d'onglets.

Bye !

Merci pour toutes tes réponses (vraiment très sympa). J'essaye de mon côté de comprendre et j'avance petit à petit.

En ce qui concerne le fichier, j'ai compris pour l'utilisation des tables. Mais les filtres ne fonctionnent pas entièrement.

Regarde : si je sélectionne uniquement le client => Aucune ligne n'est recopiée (alors qu'il y en a dans la base). Idem avec le mois et l'année.

image

Avec des écritures blanches sur fond jaune, je n'arrive pas à lire le nom que tu as mis en B3

Il faudrait que tu joignes à ton prochain post le fichier tel qu'il est quand il ne fontionne pas : je dois reproduire ce qui ne va pas pour le comprendre...

Bye !

C'est ton fichier, mais je n'ai choisi aucune année (pour avoir toutes les années) et aucun mois (pour avoir tous les mois). Le seul filtre actif est celui du client.

Nouvelle version

Bye !

Bonjour,

Merci beaucoup pour ton implication.

Bonne journée

Rechercher des sujets similaires à "recopier colonnes onglet criteres"