Bonjour tout le monde
Désolée pour ce titre "bizarre" mais je ne savais pas trop comment expliquer.
Voilà, j'ai actuellement un fichier qui se présente comme ça
vide Col11 Col2A Col2B
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
vide Col12 Col2A Col2B
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
heure vide donneeA donneeB
etc...
j'aimerais remonter les heures, que toutes les données en dessous de Col1 qui sont vides prennent la valeur de Col1 et d'autres choses mais ça sera plus facile à expliquer à travers un exemple.
Voilà ce que j'aimerais avoir au final :
heure Col11 Col2A donneeA
heure Col11 Col2A donneeA
heure Col11 Col2A donneeA
heure Col11 Col2A donneeA
etc
heure Col11 Col2B donneeB
heure Col11 Col2B donneeB
heure Col11 Col2B donneeB
heure Col11 Col2B donneeB
etc
Le problème est que, quand je fais une macro avec enregistrement, elle ne s'applique que sur une plage de donnée (celle sur laquelle elle a été appliquée)
J'aimerais que cette macro ne s'applique que sur les premières données, que je me place ensuite sur une case et qu'elle s'applique une plage de donnée (de la même taille) à partir de cette position.
Voici le code généré par Excel, si ça peut vous aider
Merci d'avance
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 Columns("D:D").Select Selection.Insert Shift:=xlToRight 'on insère une colonne Range("A1").Select 'suppression de la case vide Selection.Delete Shift:=xlUp Range("B1").Select Selection.AutoFill Destination:=Range("B1:B21"), Type:=xlFillDefault Range("B1:B21").Select Range("C2:C22").Select Selection.Cut Range("E2:E22").Select Selection.Cut Range("C1").Select Selection.Copy Range("C2").Select ActiveSheet.Paste Range("E1").Select Application.CutCopyMode = False Selection.Copy Range("E2").Select ActiveSheet.Paste Range("C1:C2").Select Application.CutCopyMode = False Selection.AutoFill Destination:=Range("C1:C21"), Type:=xlFillDefault Range("C1:C21").Select Range("E1:E2").Select Selection.AutoFill Destination:=Range("E1:E21"), Type:=xlFillDefault Range("E1:E21").Select Range("A1:B21").Select Selection.Copy Range("A1:D21").Select Application.CutCopyMode = False Selection.Copy Range("A1:F21").Select Application.CutCopyMode = False Selection.Copy Range("A22").Select Selection.Insert Shift:=xlDown ActiveWindow.SmallScroll Down:=-6 Range("C1:D21").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft ActiveWindow.SmallScroll Down:=15 Range("E22:F42").Select Selection.ClearContents
Partager