Bonjour à tous,
Voici mon problème , j'ai plusieurs onglet identique , je voudrais les consolider dans un seul onglets, il faudrait que les données ce met les une au dessous de l'autre , et je veux prendre que certaines colonnes (les mêmes dans chaque onglets).
voici un les procédures VBA que je fais , mais dans ma feuille consolidation , j'ai tous les colonnes , alors que moi j'en ai besoin que jusqu'à la colonne H.
MERCI POUR VOTRE AIDE
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 'Déclaration des variables au niveau du Module Dim dernierecolonne As Integer Dim i As Integer, j As Integer, k As Integer Dim DerniereLigne As Integer Dim LastRowSource As Integer '*************************************************** ' Procédure permettant d'effacer les données de ' la consolidation afin d'éviter les doublons '*************************************************** Sub EffaceConsolidation() 'On se positionne sur la feuille Source Worksheets("source").Select 'On sélectionne la plage correspondante aux données à effacer Rows("2:1000000").Select 'On efface le contenu et la mise en forme Selection.Clear 'On se repositionne sur le premier enregistrement à copier Range("A23").Select End Sub '*************************************************** ' Procédure permettant de réaliser une consolidation ' ou synthèse sur autre feuille. '************************************************** Sub Consolidation() 'On désactive le raffraichissement de l'écran scintillement Application.ScreenUpdating = False 'On appelle la procédure permettant d'effacer les données EffaceConsolidation 'On va créer une boucle permettant de lire toutes les feuilles à consolider 'ici nous avons x feuilles en fonction du nombre des collaborateurs For j = 1 To 2 'on parcours les 12 premières feuilles 'On sélectionne la première feuille Sheets(j).Select 'On se positionne sur la dernière ligne non vide DerniereLigne = Range("A1000000").End(xlUp).Row 'On parcours tout le tableau à partir de la ligne pour copier chacune ligne For i = 13 To DerniereLigne 'On sélectionne la première feuille Sheets(j).Select 'On sélectionner la première ligne Rows(i).Select 'On copie la ligne Selection.Copy 'Où, sur la feuille consolidation, il faut donc la sélectionner Sheets("Source").Select 'Il faut trouver la dernière ligne non vide de la feuille source LastRowSource = Range("A1000000").End(xlUp).Row + 1 'On sélectionne la cellule vide et la première colonne Cells(LastRowSource, 1).Select 'Une fois positionné, on colle les données ActiveSheet.Paste Application.CutCopyMode = False Next i Next j 'On réactive le raffraichissement de l'écran scintillement Application.ScreenUpdating = True 'On affiche un message qui prévient que la consolidation est terminée MsgBox "La consolidation est terminée..." End Sub
Partager