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 :

erreur de type 13 (incompatibilité)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut erreur de type 13 (incompatibilité)
    Bonjour à tous
    j'obtiens une erreur de type 13 (incompatibilité) sur VBA avec le prog suivant, et je me casse la tête depuis ce matin la dessus.
    Si quelqun a une idée...

    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
    45
    46
    47
    Sub com()
    Dim graph As ChartObject
    Dim nbserie, nbannee As Integer
    Dim x, total As Double
    Dim i, j, k, l, m As Integer
    Dim p, q As Integer
     
    Set graph = Feuil5.ChartObjects(1)
     
        nbserie = graph.Chart.SeriesCollection.Count
     
        nbannee = graph.Chart.SeriesCollection(1).Points.Count
     
    For i = 1 To nbserie
    For j = 1 To nbannee
    graph.Chart.SeriesCollection(i).Points(j).HasDataLabel = True
    Next j
    Next i
     
    total = 0
    x = 0
    For l = 1 To nbannee
    For k = 1 To nbserie
    x = x + graph.Chart.SeriesCollection(k).Points(l).DataLabel.Characters.Text 'partie qui plante
    Next k
    If x > total Then total = x
    x = 0
    Next l
     
    'Cells(1, 1).Value = total
     
      For m = 1 To nbserie
            graph.Chart.SeriesCollection(m).DataLabels.Delete
    Next m
     
    For p = 1 To nbserie
    For q = 1 To nbannee
     
    graph.Chart.SeriesCollection(p).Points(q).HasDataLabel = True
    graph.Chart.SeriesCollection(p).Points(q).DataLabel.Font.Size = "9"
    If graph.Chart.SeriesCollection(p).Points(q).DataLabel.Characters.Text < 0.07 * total Then
       graph.Chart.SeriesCollection(p).Points(q).HasDataLabel = False
    End If
    Next q
    Next p
     
    End Sub

  2. #2
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Bonjour,

    Chez moi (Excel 2007), la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    graph.Chart.SeriesCollection(k).Points(l).DataLabel.Characters.Text
    ne renvoit rien, je récupère les étiquettes par la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    graph.Chart.SeriesCollection(k).Points(l).DataLabel.Caption
    Est-ce que tu as vérifié en debug ce que contient la propriété Text ?

    Sinon, question idiote : est-ce qu'il ne serait pas plus simple d'aller lire les données sources de ce graphe plutôt que dans le graphique ?

    Enfin une petite remarque (sans conséquence sur le problème actuel) : les déclarations du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim i, j, k, l, m As Integer
    définissent seulement la dernière variable comme Integer, toutes les autres sont de type Variant ! La syntaxe correcte est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim i As Integer, j As Integer, k As Integer, l As Integer, m As Integer

Discussions similaires

  1. Probleme erreur execution type 13 incompatibilite de type
    Par franck87 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 09/01/2014, 11h58
  2. erreur d'exécution 13 incompatibilité de type
    Par glamgeek dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2009, 13h03
  3. Erreur "type 13 : incompatibilité de type
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/08/2007, 17h31
  4. "erreur d'exécution 13 : incompatibilité de type"
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 19/07/2007, 16h47
  5. erreur d'exécution 13, incompatibilité de type
    Par PHPdudimanche dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/06/2007, 16h20

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