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 :

Creer un graph avec plage de données variables sur VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2013
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Creer un graph avec plage de données variables sur VBA
    Bounjour, je cherche a generer un graphique sur VBA a partir d'une plage de donées de taille variable. Mon code se present en deux temps: traitement_feuille appelle une fonction " derniere_ligne" (qui trouve la derniere ligne de données) installe la colonne des temps puit genere un graph sur un nouvel onglet. Le probleme du code ci dessous est qu'il genere une incompatibiliée de type: erreur 13. Quel qu'un pourrait il m'aider? 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
     
    Sub traitement_feuille(f_travail As Worksheet)
    Dim num_ligne As Integer, t_travail As Worksheet
    Dim myrange As Range
     
      'installe la colonne des temps
      f_travail.Activate
      f_travail.Cells(1, 1) = "Temps"
      For num_ligne = 2 To derniere_ligne(t_travail)
        f_travail.Cells(num_ligne, 1) = num_ligne - 2
      Next
      'graph
     
          'f_travail.Cells(1, 1).Select
          'Selection.CurrentRegion.Select
          Set myrange = ActiveSheet.Cells(1, 1).CurrentRegion
          'Charts.Add
          Application.CutCopyMode = False
          ActiveChart.ChartWizard _
              Source:=Sheets(f_travail).Range(myrange.Address), _
              Gallery:=xlXYScatterSmoothNoMarkers, Format:=4, PlotBy:=xlColumns, _
              CategoryLabels:=1, SeriesLabels:=1, HasLegend:=1, _
              Title:=f_travail, CategoryTitle:="", _
              ValueTitle:="", ExtraTitle:=""
     
     
    End Sub
     
     
    Function derniere_ligne(f_travail) As Integer
    Dim num_col As Integer, num_ligne As Integer
     
      num_ligne = 0
      For num_col = 1 To ActiveSheet.Cells(1, 10000).End(xlToLeft).Column
        If ActiveSheet.Cells(100000, num_col).End(xlUp).Row > num_ligne Then
          num_ligne = ActiveSheet.Cells(100000, num_col).End(xlUp).Row
        End If
      Next
     
      derniere_ligne = num_ligne
    End Function

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour, regarde ça
    Fichiers attachés Fichiers attachés

  3. #3
    Invité
    Invité(e)
    Par défaut
    j'ai un peut modifié ton code
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 11
    Dernier message: 01/04/2019, 17h34
  2. [XL-2013] Graphique avec plage de données variable
    Par CydZZ dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/10/2014, 14h05
  3. [XL-2010] Graphiques avec plage de données variables
    Par baptoo61 dans le forum Excel
    Réponses: 10
    Dernier message: 26/06/2014, 10h02
  4. [XL-2003] Graphique avec plage de données variables
    Par yoord dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/06/2009, 11h48
  5. Créer un graph avec une plage de donnée variable
    Par nono le golfeur dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/06/2007, 17h15

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