Appliquer une macro pour plusieurs fichiers sélectionnés

Fermé
Anis - Modifié par Anis le 17/08/2015 à 15:04
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 29 août 2015 à 02:19
Bonjour,


J'ai un projet au boulot me demandant d'extraire certaines données de plusieurs fichiers et de les copier sur un fichier récap (afin de les utiliser pour la construction de cartes de contrôle).
J'ai réussi à faire la macro me permettant d'extraire les données d'un fichier mais la manipulation pour chaque fichier reste très longue, car très répétitive..

Je ne suis pas expert en macro (loin de là ) et je demande donc votre aide pour m'aider à compléter ma macro

Voici le code que j'utilise pour l'extraction des données :


Sub mef()

Application.DisplayAlerts = False
ActiveSheet.Select
ActiveSheet.Name = "Data"
Range("C30").Select
Sheets.Add
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Target"
Range("C30").Select
Sheets("Data").Select
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1)), TrailingMinusNumbers:=True
Range("E1:G3").Select
Selection.Copy
Sheets("Target").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Data").Select
Range("C6:E6").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Target").Select
Range("A4").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=0
Sheets("Target").Select
ActiveSheet.Range("A65536").End(xlUp).Delete
ActiveSheet.Range("A65536").End(xlUp).Delete
ActiveSheet.Range("A65536").End(xlUp).Delete

Range("A1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub



Pour rentrer plus dans le détail, les données qui m'intéresse (après utilisation de mon code) se retrouvent sur 3 colonnes et un nombre variable de lignes. L'idéal pour moi serait que chaque groupe de 3 colonnes (extraits de chaque fichier du dossier) se place les uns à coté des autres (avec un offset de 3 donc j'imagine.. ).

J'ai ajouté ci-joint le fichier "bot_..." qui est le type de fichier d'où seront tirées les données. Et le fichier "Mise en forme" qui est le fichier où les données seront copiées (dans la partie colorée).

J'espère avoir été clair..

Merci d'avance pour votre aide et pour le temps que vous prendrez pour cela


Anis

A voir également:

2 réponses

Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
Modifié par Raymond PENTIER le 20/08/2015 à 02:59
Ce qui n'est pas clair, c'est de savoir de quel logiciel il s'agit :
Calc, Excel, Access ...
https://www.commentcamarche.net/infos/25843-guide-d-utilisation-du-forum-de-commentcamarche-net/#plateformes-d-assistance

C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
29 août 2015 à 02:19
Alors ?
0