IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

2003 à 2010, erreur 1004 graphique


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut 2003 à 2010, erreur 1004 graphique
    Bonjour,

    j'ai une erreur 1004 sur ce code là.
    Il fonctionne très bien sous 2003; mais 2010... My godness...
    Voila l'erreur :
    "erreur définie par l'application ou par l'objet"
    Je vous ai mit en rouge dans le code là ou le debuggeur s’arrête.

    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
    'On créer le diagramme pour avoir la porportion par type de dechet
    Sub Creation_Diagramme(ByVal Total_dd As Double, ByVal Total_dnd As Double, ByVal Total_di As Double, ByVal Total_deee As Double)
        
        Const StrNom As String = "Répartition des déchets"
        Dim Sr As Series
         
        Application.ScreenUpdating = False
        'Pour supprimer d'abord l'éventuelle feuille graphique
        '---------------------------
        On Error Resume Next
        Application.DisplayAlerts = False
        ThisWorkbook.Sheets(StrNom).Delete
        Application.DisplayAlerts = True
        On Error GoTo 0
        '---------------------------
         
        With ActiveWorkbook.Charts.Add
            .Name = StrNom
            .ChartType = xlPie
            
            If .SeriesCollection.Count = 0 Then
                Set Sr = .SeriesCollection.NewSeries
            Else
                Set Sr = .SeriesCollection(1)
            End If
            
            'On ajoute les pourcentage et le nom des catégories
            .ApplyDataLabels ShowPercentage:=True, ShowCategoryName:=True
                
            With Sr
                'On renseigne les valeurs du graphique et on colorise le diagramme
                .XValues = Array("DD", "DND", "DI", "DEEE")
                .Values = Array(Total_dd, Total_dnd, Total_di, Total_deee)
                .Name = StrNom
                .Points(1).Interior.ColorIndex = DECHET_DANGEREUX
                .Points(2).Interior.ColorIndex = DECHET_NON_DANGEREUX
                .Points(3).Interior.ColorIndex = DECHET_INERTE
                .Points(4).Interior.ColorIndex = DECHET_ELECTRIQUE
                
                'On supprime les Label qui sont égale à 0% ou inexistant
                If (Total_dd = 0 And Not IsNull(Total_dd)) Then .Points(1).DataLabel.Delete
                If (Total_dnd = 0 And Not IsNull(Total_dd)) Then .Points(2).DataLabel.Delete
                If (Total_di = 0 And Not IsNull(Total_dd)) Then .Points(3).DataLabel.Delete
                If (Total_deee = 0 And Not IsNull(Total_dd)) Then .Points(4).DataLabel.Delete
            End With
            
        End With
    End Sub
    PS: Les fonctions du 2007 fonctionne sous 2010 ? Ou je vais devoir adapté le logiciel à 2007-2010-2013 et réécrire une partie des fonctions à chaque fois ?

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Marche chez moi

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Ba chez moi non.. ^^
    C'est ça mon probleme... Peut etre qu'entre 2003 et 2010 il faut préciser plus de tucs ?
    Il arrive pas a trouver l'ActiveSheet ?

    Je sais pas du tout...

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    regarde du coté des références...

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Alors ça je ne connais pas du tout, c'est quoi ?
    J'en avais pas besoins sous Excel 2003..

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Outils références... les dictionnaires de fonctions et méthodes..

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    J'ai regardé un exemple du MSDN et pour créer un graphique il faut donné un RANGE.

    Du coup dans les références, on peut importer des anciennes fonctions de 2003 ? genre Filesearch ? et autres ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai regardé un exemple du MSDN et pour créer un graphique il faut donné un RANGE.
    Ici, il s'agit d'un Graphique (Charts) membre d'un Chart ici.

    Dans un classeur (Workbooks), tu as sois :
    - Une feuille (Worksheets) déclaré en Worksheet, soit
    - Un graphique (Charts) déclaré en Chart

    Un Sheets peut être une feuille ou un graphique et doit donc être déclaré en :
    - Variant (mode automatique en quelque sorte)
    - Worksheet (si fait référence à une feuille)
    - Chart (si fait référence à un graphique)

    Il y a aussi les graphiques intégré dans des feuilles, dans ce cas, il sont des objets (à déclarer en ChartOject) appartenant à une feuille (Worksheets), tout comme les tableaux.

    Par exemple, quand je créé un tableau dont le nom est déjà existant, ou alors lorsqu'il empiète sur un autre tableau, j'ai une erreur 1004.

    Est-ce que un graphique existe déjà lorsque tu as une erreur ? Sur un classeur vierge, ça marche ?

    P.S.:

    Il y a une hiérarchie:
    Workbooks (Classeur)
    Worksheets (Feuille de calcul)
    ChartObjects (Graphique)

    ou alors
    Workbooks (Classeur)
    Charts (Graphique)

Discussions similaires

  1. [XL-2010] Erreur 1004 utilisation de lettre dans une comparaison de cellule
    Par supercool dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/09/2014, 10h39
  2. [XL 2010] Erreur 1004 pour création seriescollection (chart)
    Par jeff202 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/08/2011, 14h09
  3. Erreur Conversion projet c# 2003->2010
    Par toxycyty dans le forum Visual Studio
    Réponses: 2
    Dernier message: 29/12/2010, 21h56
  4. Erreur 1004 au remplissage d'un graphique
    Par babybell dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/07/2010, 15h58
  5. Données source graphique erreur 1004
    Par dompatou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/05/2007, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo