bonjour,
j'ai 6 onglets dont un onglet "sauvegarde".
les 5 autres onglet sont mis à jour régulierement, ce qui cree des decalages de lignes. les infos saisies ne sont donc plus bonnes.
J'ai donc decider de consolider tout mes onglets dans un onglet "sauvegarde".
j'ai donc cree une macro qui compare le numero de client dans l'onglet mis à jour à celui de l'onglet "sauvegarde". Si les numeros clients correspondent, la macro me recopie les données correspondant au client à partir de l'onglet sauvegarde,
Mon probleme est le suivant, la macro que j'ai réalisé ne compare qu'un onglet à l'onglet "sauvegarde". il me faut encore comparer les 4 autres à l'onglet sauvegarde.
Malheureusement je suis débutant et je ne sais pas comment faire. Pouvez vous m'aider svp
voici la macro que j'ai ecris :
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 Sub COMPAR() Application.ScreenUpdating = False 'declaration des variables' Dim VALEURA As String, i As Integer, x As Integer, valeurB As String 'i correspondra au numeros de ligne dans la feuille 1' i = 3 'continuer tant que i n'est pas egal à 5000' Do While i <> "50" 'donner une valeur de départ à VALEURA, valeura=le contenue de A2' VALEURA = range("c" & i).Value 'activer la feuille 2' Sheets("sauvegarde").Select 'x correspond au numeros de ligne dans la feuille 2' x = 3 'donner une valeur de depart a valeurb' valeurB = range("c" & x).Value 'comparer valeura et valeurb, tant que faux incrementer x de 1' Do While VALEURA <> valeurB x = x + 1 If x = 50 Then GoTo l49 valeurB = range("c" & x).Value Loop 'si la cellule Lx = quelque chose alors on copy la ligne' If VALEURA = valeurB Then range("j" & x).Select Selection.Copy Sheets("p11").Select range("J" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("k" & x).Select Selection.Copy Sheets("p11").Select range("k" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("l" & x).Select Selection.Copy Sheets("p11").Select range("l" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("m" & x).Select Selection.Copy Sheets("p11").Select range("M" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("n" & x).Select Selection.Copy Sheets("p11").Select range("n" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("o" & x).Select Selection.Copy Sheets("p11").Select range("o" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("p" & x).Select Selection.Copy Sheets("p11").Select range("p" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("q" & x).Select Selection.Copy Sheets("p11").Select range("q" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("r" & x).Select Selection.Copy Sheets("p11").Select range("r" & i).Select ActiveSheet.Paste Sheets("sauvegarde").Select range("s" & x).Select Selection.Copy Sheets("p11").Select range("s" & i).Select ActiveSheet.Paste End If 'on incremente i de 1' l49: i = i + 1 'on continue les fonction d'avant jusqu'a ce que i=5000' Loop End Sub
Partager