Copier, filtrer des données, de plusieurs pages et les réorganiser en 1 p

Bonjour à tous,

Tous les mois, j'exporte sur excel des mouvements de stock.

Petit problème il sont sous la forme de tableau et non pas de base de données.

Il m'est donc très difficile d'exploiter directement les données transférées sur excel.

Les tableaux qui sortent sont les tableaux nommés "Historique" dans mon exemple (ils peuvent s'appeler bien autrement et il peut y avoir 30 feuilles de 20 000 lignes chacune).

Je souhaiterai créer une macro qui me rapatrierait les données comme dans l'onglet synthèse. la difficulté est de mettre en face de chaque ligne la référence concernée.

j'ai essayé de programmer en VBA, qu'en face de chaque "stock initial", je prends 2 cellules en dessous la référence et la positionne sur la ligne du "stock initial" jusqu'à la ligne juste avant le prochain stock initial. de même pour la désignation 3 cellules en dessous. sans oublier de rajouter le titre de la feuille en face de chaque ligne. sauf que je n'y arrive pas.

Ci-joint mon fichier, ou pour exemple dans historique 1 j'ai mis des couleurs et j'ai reporté (2 exemples) dans synthèse comme je souhaiterai que cela soit.

Quelqu'un aurait-il la patience et la gentillesse de m'aider.

Par avance Merci

Bonjour

ci joint une ébauche de code qui fait le plus gros...

reste a mettre les formules.. et voir ensuite pour traiter d'autres onglets...

je te laisse vérifier et me dire...

faute de temps, je poursuivrais demain...

Fred

Faudra aussi que tu précises... si :

les nouveaux onglets historique seront toujours à partir du 4e onglet ou si ils sont toujours nommés "Historique X"

est-ce que l'on efface le tableau synthèse avant d’exécuter le code...

tu tiens a tes formules ou les calculs peuvent être fait par macro et on met directement le résultat ??

Fred

Bonjour Fred,

Pour commencer, mille mercis pour ton aide, c'est presque parfait, le plus gros est fait.

1 - pour répondre à ta première question il est possible que par la suite j’intègre d'autres feuilles de gestion comme les variations de stocks ou le suivi des différents mouvements (donc une page par mouvement). donc les historiques ne seront pas forcement en 4ème position il pourront être en 5ème à 10 ème position.

2 - les onglets ne seront pas forcément appelés "historique", le nom est variable il pourra même s'appeler récupéré 1 ou 2.... ou autre

Si tu peux, il vaudrait mieux gérer des exclusions de feuilles sur la macro, si je rajoute des feuilles de calcul je compléterai la liste d'exclusion dans le code, ça au moins je pense que je saurais faire.

3 - Tu as raison, il faut effacer le tableau de synthèse à chaque fois.

4 - Je ne tiens pas particulièrement à mes formules, si tu peux les gérer en macro c'est ok pour moi, par contre j'ai remarqué que les virgules avaient disparu notamment en cellule E2 le coût unitaire est à 37,93807 et non pas à 3 793 807.

Encore merci pour ton aide

Franck

PS: désolé pour le décalage de mes réponses, je vis aux antipodes de la Métropole à Nouméa

Bonjour

Bonjour à tous

Une variante.

Bye !

Bonjour gmb,

Merci beaucoup pour votre aide c'est très gentil, cela fonctionne presque sur tous les points.

1 - Je retrouve le même souci que sur le fichier de Fred le prix unitaire des "Stock initial" et "Stock final" n'ont plus de virgule.

2 - Je remarque aussi que par moment le stock final remplace un mouvement de stock et du coup si je refais le calcul des stocks, ce n'est pas bon. je m'en suis rendu compte car il y a une date devant certains "Stock final" alors qu'il ne devrait pas y en avoir (exemple en orange dans le fichier attaché). En fait dans mon exemple "Stock final" prend la place du mouvement "RES" ligne 19 au lieu de récupérer les données ligne 54 et 55 de la page "Historique 1"

Je ne veux pas abuser de votre temps et de votre gentillesse mais vous serait-il possible de regarder de nouveau ces points.

Par avance milles mercis, très belle journée à vous

Franck

Bonjour

Nouvelle version..

Bye !

Bonjour gmb,

Merci, super les "Stock initial" sont parfaits.

S'il vous plait, si vous avez encore un peu de temps à me consacrer, pourriez vous regarder encore les points suivants:

1 - Pour Les "Stock final" il me manque le prix unitaire (exemple cellule E8) et le calcul du stock final (exemple cellule G8)

2 - Serait-il possible que le mois et l'année de la date en col A viennent se positionner en col K et L (exemple en K7 et L7)

3 - Serait-il possible que dans l'onglet synthese tout soit collé en valeur, pour éviter d'importer les cadres, lettres en gras...

Encore mille mercis pour votre disponibilité, c'est très gentil.

Franck

Bonjour à tous..

comme gmb est plus avancé que moi dans le code... je le laisse finir....

Fred

Bonjour à tous

Bonjour Fred

Nouvelle version.

Bye !

Bonjour à tous les deux, gmb et Fred,

Un grand merci pour votre aide, c'est parfait, c'est exactement ce qu'il me fallait.

Maintenant je vais essayer de décortiquer votre codage pour ma culture personnelle.

Cela va être riche en apprentissage car deux personnalités donc deux façons de coder différentes...

Je vous souhaite une très belle journée à tous les deux et de très belles fêtes de Noël

Franck

Bonjour gmb,

Désolé de vous ennuyer, je viens juste de me rendre compte en exploitant le fichier, j'avais une colonne référence et une colonne désignation, maintenant j'ai deux fois la désignation en colonne "H" et en colonne "I" .

En détail au lieu d'avoir en colonne "H" référence et en colonne "I" la désignation, maintenant j'ai colonne "H" la désignation et colonne "I" la désignation.

dans le fichier attaché, j'ai mis en orange l'exemple de la première référence en page de "synthese" et en "Historique 1"

Pourriez vous regarder une dernière fois s'il vous plaît?

Par avance un grand Merci

Franck

Bonjour

Nouvelle version.

Bye !

Bonjour gmb,

J'ai mis un peu de temps pour répondre, pour tester la dernière version.

au niveau de la macro tout est parfait, un grand merci.

je rencontre un problème une fois le fichier complété, je m'explique :

j'ai un onglet nommé "Suivi commandes" sur cet onglet j'importe 300 lignes de produits et j'ai 20 colonnes de calcul, depuis lesquelles je vais récupéré dans l'onglet "Synthese" les données au moyen d'une formule matricielle {=somme(si(...;si(...;si(...))}.

Cela fonctionne très bien si je désactive le calcul automatique avant de lancer la macro et après je fais F9, sinon c'est trop lourd et les calculs sont interminables. Y aurait-il une solution pour désactiver les calculs lors de l'execution de la macro et le réactivé une fois terminé l'importation des données dans "Synthèse"?

Par avance merci

Franck

Bonjour gmb,

J'ai trouvé comment faire j'ai juste rajouté :"Application.Calculation = xlCalculationManual" en début de script et

"Application.Calculation = xlCalculationAutomatic" en fin de script

Et ça marche!!

Mille merci encore pour votre aide, vous m'avez sorti une belle épine du pied.

Je vous souhaite de très belles fêtes de Noël, au plaisir

Franck

Rechercher des sujets similaires à "copier filtrer donnees pages reorganiser"