Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2011, 11h15   #1
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Par défaut Erreur "Dimension spécifiée non valide pour le type de graphique en cours"

Bonjour,

Soit le code ci-dessous:

Code :
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
Sub proc()
 
    Dim s As Shape                                  
    Dim shDest As Worksheet
    Dim i As Integer
    Dim ch As Chart
    Dim graph As Shape
 
    Dim annee, anneesyg As Integer
 
    anneesyg = Year(Date)
 
    If moissyg = 1 Then
        annee = anneesyg - 1
    Else
        annee = anneesyg
    End If
 
 
 
    On Error Resume Next
 
    ThisWorkbook.Sheets("Graphes " & annee).Visible = True 
 
    If Err.Number > 0 Then
 
        ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)                      ' Création
        ActiveSheet.Name = "Graphes " & annee
 
 
        ActiveWindow.Zoom = 94
        Range("A1:Z500").Interior.ColorIndex = 6
 
    End If
 
    On Error GoTo 0
 
 
    ' Feuille de destination
    Set shDest = ThisWorkbook.Sheets("Graphes " & annee)
    For Each graph In shDest.Shapes
        graph.Delete
    Next
 
 
 
    Application.CutCopyMode = False
 
    Attente.Show vbModeless
 
    For Each ch In Charts 
 
        DoEvents
 
        ch.Activate
        ch.CopyPicture
        shDest.Range("A1").PasteSpecial
        Set s = shDest.Shapes(shDest.Shapes.Count)
        s.ScaleHeight 0.5, msoTrue
        s.ScaleWidth 0.5, msoTrue
        s.Left = (i Mod 2) * (s.Width + 50)
        s.Top = (Int(i / 2) * (s.Height + 10))
 
        i = i + 1
 
    Next ch
 
    Unload Attente
 
    With Application
        .Visible = True
        .WindowState = xlMaximized
    End With
 
    ThisWorkbook.Save
 
    Unload popupIndicateur
 
    With Sheets("parametres")
 
        .Range("A30").Value = Date
 
    End With
 
    Blok
 
    Sheets("Graphes " & annee).Select
 
End Sub
A l'exécution, j'obtiens l'erreur:
Citation:
Dimension spécifiée non valide pour le type de graphique en cours.
L'erreur provient des lignes:

Code :
1
2
3
4
5
With Sheets("parametres")
 
        .Range("A30").Value = Date
 
End With
En effet, en les enlevant, tout fonctionne très bien... Je ne comprends pas le rapport avec l'erreur, une idée pour résoudre cela ?

Merci d'avance.
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 12h05   #2
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 398
Points : 14 398
Envoyer un message via Skype™ à Pierre Fauconnier
Salut.

Sur quel ligne le code s'arrête-til lorsque tu obtiens l'erreur?
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 13h35   #3
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Bonjour,

Citation:
Envoyé par Pierre Fauconnier Voir le message
Sur quel ligne le code s'arrête-til lorsque tu obtiens l'erreur?
Sur cette ligne:

Code :
.Range("A30").Value = Date
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 14h28   #4
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 398
Points : 14 398
Envoyer un message via Skype™ à Pierre Fauconnier
Cette cellule fait-elle partie de la source d'un graphique? Si oui, il faut voir où et comment.
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 14h42   #5
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Pas du tout, c'est bien cela qui me surprend.. Cette cellule se trouve sur une feuille de calcul où il n'y a quasiment rien, il s'agit d'une feuille où je renvois des données basiques (comme la date d'exécution d'une macro) dans des cellules. La cellule en question ne fait donc pas partie de la source d'un graphique.



Edit: --> problème résolu ! A tout hasard, j'ai changé la façon avec laquelle je protégeais mon classeur en la plaçant à l'ouverture du classeur au lieu de l'écrire en tant que procédure dans un module à part, et curieusement, maintenant ça fonctionne, plus d'erreur. N'empêche, je ne comprends toujours pas pourquoi cette erreur tombait..

Merci d'avoir pris du temps pour m'aider Pierre !
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h04.


 
 
 
 
Partenaires

Hébergement Web