Importer données m onglets de n classeur dans une newfeuille

Bonjour,

J'ai besoin de votre aide pour réaliser une macro capable de:

1-Importer tous les onglets visibles de plusieurs classeurs provenant d'un même dossier pour simplifier ( sinon éventuellement si possible une boite de dialogue me demandant de sélectionner les classeurs dans différents fichiers)

2-Les onglets et le nombre de lignes sont variables d'un classeur à l'autre, les onglets ont des entêtes identiques mais ne commencent pas forcement à la même ligne (l'idée est de commencer l'importation après l'entête de colonne "affaires" et à partir de "en cours", et de copier les contenus de tous les onglets les uns en dessous des autres après avoir précisé la direction de production).

'Si possible une boite de dialogue qui simplifierait ça (je ne sais pas comment).

3-Supprimer ensuite les lignes vide pour avoir un fichier bien propre, et surtout ne rien modifier aux classeurs sources (aucune demande d'enregistrement ou de messages inutiles).

J'ai un code qui marche bien pour des classeurs simples avec une seule feuille (même configuration sur chaque feuille et les données empilées les unes en dessous des autres sans espace), j'aimerais que vous m'aidiez à l'adapter svp.

17nom48.xlsm (37.37 Ko)
19nom32.xlsm (37.37 Ko)
15nom1.xlsm (37.46 Ko)

Je me rends compte que j'ai pas mis en PJ le fichier synthèse que j'ai (l'exemple de ce que je voudrai avoir).

Le voici

21recap.zip (10.60 Ko)

Des propositions?

Merci d'avance

Bonsoir,

Ci-joint un début de proposition à tester.

Après sélection du répertoire, parcours tous les fichiers et tous les onglets des fichiers.

  • quand on trouve "DIR. PRODUCTION :", écriture de la direction
  • ensuite, on recherche "AFFAIRES", et on copie toutes les lignes non vides
  • arrêt quand on trouve "*(1) Affaire neutralisée par l'aléa DP" : on ne copie plus la suite.

Remarque : ce type de traitement reste assez aléatoire : si la mise en page des fichiers bouge un peu, cela ne fonctionnera plus

Bonne soirée

Bouben

Merci beaucoup bouben, c'est parfait!

Comment on fait pour ne prendre que les onglets visibles?

Merci encore.

Bonsoir,

Super que ça te convienne

Ci-joint une nouvelle version à tester, avec une condition supplémentaire pour ne prendre que les onglets visibles.

Bonne soirée

Bouben

Bonsoir Bouben, je te remercie beaucoup.

J'ai essayé d'appliquer le code à mes vrais fichiers, mais j'ai rencontré quelques complications:

1- la colonne A peut être vide, et le tableau commence à partir de la colonne B, C ou D...

  • Serait-il possible que la macro cherche "affaires" dans les 10 prémières colonnes plutôt que seulement dans A? (ça dépassera pas non plus normalement les 20 premières lignes)
  • Une fois "affaires" trouvées, qu'elle copie les lignes non vides à partir de cette colonne jusqu'à la 16 ème colonne après (par exemple si "affaires" est dans A, copier les lignes non vides de A à P; si "affaires" est dans B, copier les lignes non vides de B à Q etc.
2- In n'y a pas toujours "*(1) Affaire neutralisée par l'aléa DP" à la fin des fichiers.

-En fait il faudra s'arrêter dès qu'on tombe sur un truc contenant "ALEAS" ou "aléas" ( un truc comme ça "* ALEAS *" peut être?)

3- La direction de production n'est pas toujours précisée en fait, et des fois c'est "Dir Production", des fois "Dir Prod", des fois rien.

En fait le plus simple sera de chercher "SOCIETE: " comme on a cherché "affaire" mais sur les 10 premières lignes et 10 premières colonnes, et de mettre le nom de la société à la place de la direction de production. (Il faudra tenir compte du fait que le nom de la société peut être dans les cellules à droite de celle qui contient "SOCIETE").

Si on ne trouve pas la société, mettre le nom du classeur et de l'onglet par defaut, suivi de la copie.

4- Enfin pour la copie, copie speciale ne copier que les valeurs, ne pas tenir compte des liaisons qu'il y'a dans les fichiers sources ou les formules etc. Respecter les formats des colonnes du fichier de destination préalablement préparés.

N'hésite pas à mettre un peu plus d'explication dans le code

Merci encore d'avance pour vos réponses.

Bonjour

J'ai essayé de modifier le code, mais ça a créé un bug et il ne fonctionne plus.

Pouvez vous y jeter un coup d’œil?

J'espère que vous pourrez m'aider à trouver une solution.

Merci

Bonjour,

Personne pour me venir en aide?

Bonne journée

Rechercher des sujets similaires à "importer donnees onglets classeur newfeuille"