Copier des lignes d'un tableau vers une autre feuille sous conditions

Bonjour,

Je vais essayer d'être le plus complet possible pour expliquer mon problème.

J'ai un fichier contenant de nombreuses pages. Sur chaque page se trouve un tableau qui a toujours la même forme : 10 colonnes dont certaines sont fusionnées (ces colonnes vont de A à O) et un nombre de lignes variables (La première ligne se situe au n°4, ; la première et la seconde ligne (n°4 et 5) sont les titres de mes colonnes ; les lignes suivantes sont fusionnées 2 à 2).

J'aimerais que lorsque la colonne M (qui n'est pas une fusion) contient un chiffre compris entre 8 (inclus) et 16 (inclus), la ligne correspondante soit entièrement copiée et collée dans une feuille qui serait un récapitulatif de l'ensemble des autres.

Je veux, si possible, que mes cellules restent fusionnées en étant collées et qu'elles viennent se placer les unes à la suite des autres dans la feuille de destination. La feuille récapitulative sera composée de plusieurs tableaux différents et je veux pouvoir décider vers quelles plages (vers quel tableau) envoyer telle ou telle ligne.

Tout ça me parait insoluble, et ayant commencé à utiliser vba depuis une semaine, j'avoue être désespéré !

J'espère que j'ai été assez clair dans mes explications, sinon n'hésitez pas à me demander.

Si un petit génie de vba pouvait me sauver, ce serait génial !

Merci d'avance !

Bonjour,

pouvez-vous joindre un fichier excel ?

30classeur1.xlsx (83.23 Ko)

Bonjour,

Je vous joins une partie du fichier dont je parle. Le reste étant confidentiel, les boutons ne seront pas utilisables.

Merci d'avance

Bonjour elmer005, Isabelle,

Précisons tout de suite: je ne suis pas le "petit génie de vba" que tu appelais de tes voeux ... Par contre, j'ai une question: pourquoi diable toutes ces fusions de cellules

Bonjour,

Ce n'est pas grave, si vous pouvez m'aider, ça suffira Pour une question de mise en page au départ mais si c'est gênant, je peux ne pas les fusionner

si c'est gênant, je peux ne pas les fusionner

Si les Égyptiens avaient connu Excel et particulièrement les cellules fusionnées, on aurait parlé des onze plaies d'Égypte (et parmi les dix premières figuraient tout de même la grêle, les sauterelles et les ... furoncles c'est te dire!)

D'autant qu'avec ce qu'on voit de ton fichier, ces cellules fusionnées ne servent à rien (on peut obtenir le même résultat esthétiquement, sans rien fusionner!).

En conséquence, si ça ne tenait qu'à moi, je dirais allons-y pour une version sans les fusions! (maintenant, il y aura peut-être qui me contredira ... c'est à ça que servent les forums!)

Pour le reste, il faudra aussi que tu expliques ton histoire de

La feuille récapitulative sera composée de plusieurs tableaux différents et je veux pouvoir décider vers quelles plages (vers quel tableau) envoyer telle ou telle ligne

... Est-ce que tu compliquerais pour le plaisir ?? Là, ce sont mes synapses qui ont fusionné

D'accord, oublions les fusions

Alors en gros, chaque feuille du fichier que j'ai joint correspond à une "unité de travail". J'aimerais que dans ma feuille de destination, chaque unité de travail soit séparée, d'où cette "complication"... Je ne sais pas si je suis assez clair

Bonjour,

Si je comprends bien, ce que tu as "splitté" dans différentes feuilles, tu voudrais maintenant en faire un récapitulatif dans une feuille unique ... mais dans des tableaux différents C'est à ce niveau que je parlais de complication.

Ne serait-il pas plus avisé de n'avoir qu'une seule feuille et un seul tableau au départ, dont tu pourras extraire chaque fois que nécessaire, les données par Unité, par Indice de risque, ou toute autre combinaison de critères? Les Filtres automatiques, les Filtres avancés, les Tableaux Croisés Dynamiques et tous les autres outils seront alors disponibles sans complication.

Avec ta feuille récap, telle que tu l'imagines, si on arrive à "compiler" les infos venant des différentes feuilles, tu n'auras pas besoin de savoir de quelle unité il s'agit, dans ta feuille récap?

Si, comme tu le disais, cette même feuille est "composée de plusieurs tableaux différents", mais que le nombre de lignes varie dans chacune de tes feuilles, comment vas-tu agencer tous ces tableaux?

Si on modifie demain votre système de calcul pour les IR et RR, tu te vois aller modifier tes formules et tes MFC dans toute ta ribambelle de feuilles différentes?

Au passage, il serait sans doute prudent de définir des règles de validation de données pour éviter les erreurs d'encodage (là où on ne devrait pouvoir encoder qu'un chiffre de 1 à 4)

Tu disais, dans ton premier message, "tout ça me paraît insoluble" ... Moi je dirais qu'il faut prendre le temps de réfléchir à la structure de son fichier pour éviter de se retrouver, par la suite, à gérer une gigantesque usine à gaz.

... Maintenant, comme disait l'autre: "c'est vous qui voyez!"

Bonjour

D'abord, merci de me répondre un dimanche

Je n'ai pas su expliquer correctement la première fois désolé...

En fait j'ai 12 feuilles qui correspondent à des "menus" de mes unités de travail. Sur ces feuilles, il y a des boutons qui renvoient aux tableaux qui sont dans le fichier joint. Ces tableaux correspondent à des sous unités de travail. Le problème c'est que 8 de mes unités sont composées des mêmes sous unités... Ce qui fait que si un risque est supérieur à 8 dans 2 sous unités ayant le même nom (bureau par exemple) je veux qu'il soit envoyé vers ma feuille récapitulative 2 fois, tout en pouvant distinguer les unités de travail d'origine.

Ça ne poserait pas de problème qu'il n'y ait qu'un seul tableau sur la feuille récapitulative tant que l'origine des lignes soit facilement identifiable. J'espère que c'est plus clair. Désolé de ne pas avoir été plus clair avant...

Quant à la validation de données, je l'ai utilisé dans mon fichier d'origine mais pas dans le fichier joint donc ce n'est pas un problème

Bon ben décidément, je dois avoir les portugaises ensablées et les mirettes brouillées, parce que je ne comprends pas mieux !

j'ai 12 feuilles qui correspondent à des "menus" de mes unités de travail

Quoi, tu veux dire qu'en plus des 10 feuilles du fichier que tu as déposé, il y en a 12 de plus?

Est-ce que tu ne pourrais pas déposer un fichier avec 2-3 feuilles (mais des contenus différents, pas comme les 10 identiques que tu as joint au départ)? Comment sait-on de quelle "unité" il s'agit? Idem pour la "sous-unité".

Ajoute une feuille récap où tu illustrerais ce que tu veux obtenir, sur base des 2-3 feuilles que tu auras créées

Quant à

Ça ne poserait pas de problème qu'il n'y ait qu'un seul tableau sur la feuille récapitulative

Moi, je parlais d'un seul tableau au départ, à la place de tes 10 feuilles !

Bonjour,

Je vous joins le fichier entier.

J'aimerais que depuis n'importe quelle feuille, les lignes dont la colonne RR est supérieure ou égale à 8 soit envoyées vers la feuille 1. Je veux que les lignes se collent les une à la suite des autres, tout en pouvant déterminer de quelle feuille est sont issues.

Je suis obligé de séparer les tableaux sur des feuilles distinctes puisque c'est ce qui m'a été demandé.

J'ai essayé avec ce code :

Sub a()

For i = 1 To 65000

If Cells(i, 13) >= 8 Then

Range(Cells(i, 1), Cells(i, 15)).Copy

Sheets("Feuil1").Paste

End If

Next

End Sub

Mais il ne me colle que la dernière ligne sélectionner (colonne RR=16).

Merci pour votre aide et votre patience !

Bonjour,

On ne sait pas trop si tu prends le temps de lire chaque message entièrement ou si tu avances sur ton idée ? À voir le fichier dans son intégralité, réfléchir à la structure maintenant serait sans doute fastidieux, je peux le comprendre.

J'ai donc essayé de coller à la demande, même si je ne suis pas convaincu par la méthode !?

Ceci étant, je ne me suis pas lancé dans ce travail avec tes cellules fusionnées (oui, il en restait encore des wagons entiers). J'ai fait différentes choses:

  • Ajouté une feuille "Légende" Celle-ci contient le tableau qui figurait dans chaque feuille, sous les tableaux. Là aussi, j'ai supprimé toutes les cellules fusionnées. Ensuite, dans la feuille "D3E", c'est une copie du tableau de légende qui est collée en tant qu'image, avec liaison (de cette manière, chaque changement apporté au tableau de la feuille "Légende" sera répercuté dans les autres feuilles). D'autre part, un tableau sous un autre, ça complique toujours un peu les choses, pour déterminer la dernière cellule non-vide d'une colonne, par exemple.
  • Sur base de cette feuille "D3E" retravaillée (et qui ne contient donc plus de cellules fusionnées), j'ai créé deux autres feuilles (je n'ai vu qu'ensuite qu'il y en avait plein de masquées! ... et puis, il faut bien que tu fasses une partie du boulot )
  • Dans le code (j'ai repris ton Module 5 et j'ai renommé ta feuille en "Récap"), tu verras qu'il faut dresser la liste de toutes les feuilles dont tu voudras examiner le contenu (tes "sous-unités"?). Le code ne fonctionnera pas si toutes les feuilles que tu scannes n'ont pas la même structure. Il t'appartient donc, pour chacune de ces feuilles, de réutiliser le modèle ("D3E"), puis d'adapter le contenu.

... J'ai pas mieux en magasin

Waouh merci beaucoup !

Ça marche super bien ! Merci pour votre patience, je vous dois beaucoup !

Rechercher des sujets similaires à "copier lignes tableau feuille conditions"