Bonjour à tous,
Je travail actuellement sur une routine me permettant de générer automatiquement des graphiques à partir d'un tableau précédement renseigné.
Les données nécessaires aux graphiques n'étant pas équitablement réparties dans ce premier formulaire, et nécessitant égalment un traitement, je passe par un tableau intermédiaire, innaccessible aux utilisateurs finaux.
Dans un souci de garder à jour ce second tableau j'avais besoin de pouvoir rajouter des colonnes d'après un modèle enregistré dans la première colomne de ma feuille.
J'enregistre donc une macro me donnant ce code:
Je l'adapte donc de cette manière:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 sub macro9() Range("A1:A68").Select Application.CutCopyMode = False Selection.Copy ActiveWindow.ScrollColumn = 2 ' ........plein de scroll ActiveWindow.ScrollColumn = 38 ActiveWindow.ScrollColumn = 37 ActiveWindow.SmallScroll Down:=-48 Range("AS1").Select ActiveSheet.Paste End Sub
Seulement lorsque je lance ma macro il me sort une erreur:
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 Private Sub CommandButton1_Click() Dim cel As Range Dim i As Integer Worksheets("Macrotables").Activate 'Last column research i = 4 Do While Cells(1, i).Value <> "" i = i + 1 Loop 'First column copy Range("A1:A68").Select 'bugged lign Application.CutCopyMode = False Selection.Copy Range(Cells(1, i + 1).adress).Select ActiveSheet.Paste Cells(70, 4).Value = Cells(68, i + 1).Address 'Cleaning For Each cel In Range("D2", Cells(70, 4).Value) If cel.Value = 0 Then cel.ClearContents End If If VarType(cel.Value) = vbString Then cel.ClearContents End If Next Cells(70, 4).Value = Cells(68, 45).Address End Sub
Run-time error '1004':
La methode select de la classe range a échoué
Erreur qui n'est pas présente sur l'execution de la macro enregistré. Pourquoi donc?
Partager