Bonjour,

je suis débutant en macro et j'aimerai répéter une opération fastidieuse 360 fois dans ma feuille excel.

Voici les actions qui doivent être faites :

Sélectionner une cellule faisant partie d'une liste de 1 à 360
la copier (par exemple la 1ere cellule notée 1)
aller coller la valeur dans une "cellule fixe"
lancer une macro nommée "lissage"
sélectionner une "cellule fixe" dans laquelle apparaitra le résultat
copier le résultat
coller ce résultat dans une cellule

et recommencer cela 359 autres fois.

au final j'aurais donc un petit tableau à deux colonnes, la première numérotée de 1 à 360 et juste à côté tous les résultats correspondants...


maintenant je me demande si j'utilise la bonne stratégie en allant copier les chiffres de 1 à 360 tout ça dans le seul but de faire les 360 calculs, ne serait il pas plus simple de trouver une commande qui permettrait de faire les calculs de 1 à 360 sans cette étape ? car pour mois ce qui compte c'est que la case D4 voit défiler les chiffres de 1 à 360.

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
Sub Macro6()
'
' Macro6 Macro
'
 
    Range("N17").Select
    Selection.Copy
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("D12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("O17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("N18").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("D12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("O18").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
Application.CutCopyMode = False
    Selection.Copy
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Application.Run ("Lissage")
    Range("D12").Select
    Application.CutCopyMode = False
    Selection.Copy
 
    Range("o17").Activate
While ActiveCell <> ""
ActiveCell.Offset(1, 0).Activate
Wend
 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
    Range("o17").Activate
While ActiveCell <> ""
ActiveCell.Offset(1, 0).Activate
Wend
Selection.Offset(0, -1).Select
 
etc
 
End Sub
par avance merci à ceux qui pourront m'aider