Sélection plage avec condition +coller dans une autre feuile

Bonjour,

Après plusieurs recherches sur différents forum d’aide aux macros sur Excel, je n’arrive toujours pas à trouver ce qu’il me faut.

Vous trouverez un fichier en exemple pour appuyer mon explication.

J’ai une base de données dans la feuille « Données », et ensuite plusieurs onglets qui représente chacun un mois de l’année («Janvier», «Février», «Mars»…etc)

Je souhaiterais avoir une macro qui se lance lorsque je clique sur le bouton Lancer l’extraction dans la feuille "Données"

Toutes lignes ayant le texte « Janvier » en colonne A de la feuille « Données » soient collées dans la première cellule vide de la colonne A de la feuille « Janvier »

Idem pour tous les autres mois de l’année (je me suis arrêté à Mars dans l’exemple, car le code sera le même pour les autres mois).

Merci d’avance pour votre aide,

Cordialement,

Thomas

29classeur1.xlsx (11.31 Ko)

Bonjour,

à tester

Bonjour Game Over,

Merci beaucoup pour ta réponse, le code fonctionne très bien pour mon exemple, c'est exactement ce qu'il me faut.

Problème: ca ne marche que pour mon exemple.

Pour une l'appliquer à mon cas particuliers: mes données à rechercher, à extraire, et à réaffecter dans l'onglet spécifique ne s'appellent pas "Janvier" ou "Février", mais ont des noms beaucoup plus longs comme "Prise de pH avant l'étude" ou "Extraction des matières grasses" ==> Je ne peux pas donner ces noms à mes onglets car trop longs et/ou avec des caractères spéciaux type "/".

Aurais-tu une solution de code qui me permettrait de faire la répartition ainsi:

Dans l'onglet "Données", faire une recherche ligne par ligne (n° de ligne = i, i va de 1 à 1000 par exemple)

Si la cellule Ai est "Prise de pH avant l'étude"

Copier toute la ligne i, et la coller dans la première cellule vide de la colonne A de l'onglet "pH". (l'onglet pH correspond à la donnée Prise de pH avant l'étude)

Puis de même pour les autres contrôles type "Extraction des matières grasses", il me suffira d'adapter le code à mes données spécifiques.

J'ai déjà longuement essayé de le coder moi-même, sans réussite..

Merci d'avance pour ton aide,

Cordialement,

Thomas

La macro considère que la valeur de la cellule dans la colonne A de ta feuille Données correspond exactement au nom de la feuille dans laquelle la ligne doit être recopiée.

Si cette condition ne s'applique plus dans ton fichier original, alors le programme plantera automatiquement.

Oui oui, c'est pour ca que je dis que le résultat final de la macro du fichier en exemlpe est exactement ce que je veux obtenir, mais que le code ne peut s'appliquer à mes données, qui ne correpondent pas du tout à celles de l'exemple (c'était pour simplifier)

faudrait voir à quoi ressemble ton fichier original.

Peut être créer une liste de valeurs pour ta colonne A et ensuite affecter à chaque élément de la liste un nom de feuille dans la macro.

J'ai réussi à faire fonctionner un autre type de code qui répond à mes attentes. Il est joint pour ceux que ca intéresse.

Merci quand même pour ton aide Game Over,

Cordialement,

Thomas

28classeur1.xlsm (196.45 Ko)

Tu vas avoir quelques petits soucis avec ton code, à savoir qu'à chaque fois que tu vas lancer ta macro, tes résultats vont venir s'ajouter aux précédents créant des listes de doublons.

D'autre part, tu as limité ta macro à un calcul de 500 lignes donc il faudra venir modifier le code à chaque fois que le nombre de boucles deviendra inférieur au nombre de lignes.

(même chose pour les colonnes, en supposant que ça arrive un jour, à savoir que tu veuilles ajouter, plus tard, une ou plusieurs colonnes supplémentaires)

par contre, dans ta feuille Mise en forme 2, les lignes jusqu'à la ligne 4999 sont considérées comme non vides par Excel alors qu'elles le sont donc j'ai ajouté une ligne de code qui contourne ce problème.

La proposition jointe devrait répondre à tous ces problèmes.

je te conseille quand même de vérifier les résultats, j'ai juste adapté le code à tes contraintes.

Rechercher des sujets similaires à "selection plage condition coller feuile"