Bonjour, j'utilisais jusqu'à présent cette macro pour récupérer des données dans un fichier X afin de les mettre dans le fichier AAAA.xls. Ce fichier X est en fait un fichier mis à jour deux fois par mois tandis que le fichier AAAA.xls est un fichier de synthèse dans lequel une ligne = une donnée du fichier X.
Jusqu'à présent, je récupérais mes données dans la plage B29:T29 qui est fixe, et qui contenait des infos par sexe (colonnes B,D,F... les hommes et intercalées, les femmes)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 'Copie des données Windows(NomFichier).Activate Set OngletACopier = Worksheets(NomOngletACopier) OngletACopier.Select Range("B29:T29").Select Application.CutCopyMode = False Selection.Copy 'Retour au fichier récapitulatif Windows("AAAA.xls").Activate Set Onglet1 = Worksheets("Récap gen cumul") Onglet1.Select DerLigne = Range("B65536").End(xlUp).Row Onglet1.Cells(DerLigne + 1, 2).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False 'Paramétrage des années Cells(4, 2).Select PremiereAnnee = Cells(4, 2).Value DerniereAnnee = Selection.End(xlToRight).Value DerniereAnneeRemplie = Annee - 56 'Insertion des cellules de total toutes les 3 cases (pour chaque année) Cells(DerLigne + 1, 1).Value = DateValue(Jour & "/" & Mois & "/" & Annee) For i = 1 To (DerniereAnneeRemplie - PremiereAnnee + 1) Cells(DerLigne + 1, 1 + 3 * i).Select Selection.Insert Shift:=xlToRight Cells(DerLigne + 1, 1 + 3 * i).Value = Cells(DerLigne + 1, 1 + 3 * i - 2).Value + Cells(DerLigne + 1, 1 + 3 * i - 1).Value Next Cells(DerLigne + 1, 3 * i - 1).Clear Cells(DerLigne + 1, 3 * i).Clear Cells(DerLigne + 1, 3 * i + 1).Clear 'Mise en forme Rows("6:6").Select Selection.Copy Cells(DerLigne + 1, 1).Select Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False
Mon problème est le suivant. Désormais la table de données n'est plus faite de la même façon, j'ai d'une part (par exemple en B29:K29) les données concernant les hommes et en B59:K59 les données concernant les femmes.
Je récupérais auparavant la ligne entière, je changeais de fichier et je collais dans mon fichier AAAA.xls puis faisais toutes mes opérations sur ce dernier (insertion de cellules pour mettre le total hommes + femmes notamment)
Est-ce que je suis "obligé" maintenant de récupérer une donnée, de changer de fichier avec un Windows("AAAA.xls").Activate de coller, puis de revenir dans le premier fichier pour chaque cellule, sachant que je veux garder ma disposition dans AAAA.xls ? Ca me semble assez couteux en temps et pas très joli... Peut-être que je peux stocker mes données de mon fichier initial dans un tableau ?
Merci d'avance pour vos conseils et réponses.
Partager