Macro graph (debutant)

  • Initiateur de la discussion Initiateur de la discussion Benzema
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Benzema

XLDnaute Junior
Bonjour a tous,

Je dois realiser un graphe a partir de valeurs saisies dans un page html.
Comme le nombre de valeurs peut changer, je selectionne les valeurs de la colonne A en commencant de la ligne 31 jusqu'a celle precedent le contenu "not implemented".

A31 ----> "not implemented" -1

Ensuite je trace un graphe en donnant la colonne B31--->B33

Mon probleme est une erreur qui apparait lors de la selection des donnees de la colonne A, et l'affichage du graphe qui ne donne pas en ordonnees les valeurs selectionnees dans la colonne A.




Ca fait un bon bout de temps que je me casse la tete sur cette erreur, si vous avez le temps de jetter un coup d'oeil a ma macro merci d'avance.

Je precise que je suis debutant.

Merci, bonne journee
Clem

CODE:
Sub Macro4()
'
' Macro4 Macro
' Macro recorded 14.10.2010 by Amilien
'
Dim c As ChartObject

Dim x As Range, z As Range
Set x = Range("A:A").Find("not implemented", , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
Set z = Range("A31", x.Offset(-1, 0))
z.Select
End If

With Sheets("Sheet1")
Set c = .ChartObjects.Add(.Range("G15").Left, .Range("G15").Top, 800, 400)
End With



With c.Chart
.ChartType = xlLineMarkers
.SeriesCollection.Add z.Value, , True
.SeriesCollection(1).XValues = Range("B31:B33")

With .Legend
.Position = xlBottom
With .Font
.Size = 8
.Bold = True
End With
End With
With .ChartTitle
.Text = "XY Graph"
With .Font
.Size = 8
.Bold = True
End With
End With
With .Axes(xlCategory).TickLabels
.Font.Size = 8

End With
.Axes(xlValue).TickLabels.Font.Size = 8


End With
End With
'
End Sub
 

Pièces jointes

Dernière édition:
Re : Macro graph (debutant)

Bonjour Benzema,

Avec un tel "pseudo", (si c'en est un), normal qu'on te laisse sur la touche... ah ah !! 😀

Bon, sérieusement, les données de la feuille TX_WAL... ne sont pas des nombres, mais du texte, donc en graphique, cela ne donnera rien.

Pour la macro, c'est autre chose, puisqu'on lui demande de chercher dans la colonne A, un mot, "not implemented", qui se trouve dans la colonne B.

Veux-tu un graphique sur les 3 données de la colonne B ?
Cela donnera une ligne qui monte, puisque les valeurs sont négatives.
Je n'ai pas trop compris.

Le reste de la macro c'est de la présentation.

Gruick

Edit :
Je viens de voir que tu as déjà posté le sujet le 13/10/10, il aurait fallu continuer sur le même post. Et là le "not implemented" est sur la colonne A, et le graphique demandé est aussi sur la colonne A. I don't understand anymore. No comprendo ya
 
Dernière édition:
Re : Macro graph (debutant)

Bonjour a tous les 2,

Mon but est de generer 1 graph a partir des colonnes du tableau.
Le truc c'est que le nombre de valeurs par colonne peut changer ici il ya 3 valeurs mais je peux monter jusqu'a 30 valeurs parfois et le reste de la page est identique : la 1ere valeur sur la ligne 31 la derniere avant celle contenant "not implemented" qui est dans la colonne A.

Ce que je voudrais c'est tracer un graphe XY avec les valeurs de la colonne A en X et celles de B en Y.

Mon probleme reside donc dans la selection de ses valeurs dont la quantite peut changer et les tracer sur un graphe
Avec un tel "pseudo", (si c'en est un), normal qu'on te laisse sur la touche... ah ah !!

Il arrive encore a marquer en restant sur le banc =) mais esperons qu'il se reveille !

Merci de votre aide ! ( jai refait 1 sujet pour etre plus clair )
Je rejoins le fichier
 

Pièces jointes

Re : Macro graph (debutant)

Re,

Ce que je voudrais c'est tracer un graphe XY avec les valeurs de la colonne A en X et celles de B en Y.
Ta colonne A n'est qu'une échelle alors.
De toute façons, ça dépasse puisque B31 est à -21,31.

Je te joint un petit fichier pour que je puisse partir sur des bonnes bases.
Il arrive encore a marquer en restant sur le banc =) mais esperons qu'il se reveille !
Va comprendre ??
Mais bon, il a voulu y aller, alors... Et si Zizou entraîne, espérons que cela aille bien, car c'est deux caractères nos cocos.
 

Pièces jointes

Re : Macro graph (debutant)

Merci,
Ton fichier a 2 graphe sans macro et "file data may have been lost" est affiche en message erreur (jai excel 2003) est ce normal ?
.
Jai resolu 1 autre probleme passer en virgule au lieu du point pour les decimales, qui ici est indispensable.
 
Re : Macro graph (debutant)

re,

Ton fichier a 2 graphe sans macro et "file data may have been lost" est affiche en message erreur (jai excel 2003) est ce normal ?
Non, mais je suis sur Mac.
Je t'ai joint ce fichier pour te demander quel type de graphique tu voulais. (B ou A+B), une ou deux séries, celui du haut ou du bas, fromage ou dessert🙂
Jai resolu 1 autre probleme passer en virgule au lieu du point pour les decimales, qui ici est indispensable.
C'est déjà des virgules dans ton fichier.
En gros il faut que je realise une macro me generant ton graph serie 1 quelquesoit le nombre de donnees de la colonne A et B
Ce n'est pas un problème, mais est-ce que se sera toujours la colonne B dont tu voudras faire le graphique, ou d'autres ?

Gruick
 
Re : Macro graph (debutant)

re,

si je sais faire pour 1 colonne ca serait deja plus simple pour ensuite elargir en choisissant quelle colonne en X et quelle colonne en Y.

Tu es bien optimiste...

Bon, voilà ce que j'ai fait.
 

Pièces jointes

Re : Macro graph (debutant)

Comme dirait Benzema dans la pub pour LCL "La, tu viens de marquer 1 but !" ^^ =)

Merci ! C'est exactement ca que je cherchais a faire !

Je pense etre plutot un grand naif qu'un optimiste lol, pourtant dans l'ideal ca serait le top que je puisse faire la meme chose avec les autres si je rentre en parametre ma colonne en X et celle en Y. Tu penses que c'est gerable ?

Un grand merci en tout cas je vais me pencher sur ton astuce 😀 !
 
Re : Macro graph (debutant)

re,

faire la meme chose avec les autres si je rentre en parametre ma colonne en X et celle en Y. Tu penses que c'est gerable ?
J'ai bien fait de poser la question...

On a le choix de ne pas toucher au programme, mais en copiant les données choisies en colonne B, en décalant les autres. (la A ne change pas, si j'ai bien compris)

Ou alors, ne rien changer, plus difficile, en adaptant le programme de façon universelle. Là c'est plus dur, mais sans doute faisable.

Pour les deux, il faudra un dialogue proposé par le programme par une imputbox, qui demandera la colonne à traiter.

Ma disponibilité n'est pas garantie, mais dès que je peux, j'y penserai.

Gruick
 
Re : Macro graph (debutant)

Merci encore de ton aide precieuse, jai une petite idee pour adapter le pgrm:
ecrire dans une autre feuille le numero des colonnes a tracer, les recuperer dans 2 integer et s'en servir pour modifier l'offset directement !


J'ai compris l'ensemble de ton code qui est clair et malin,

le seul point d'interrogation est sur cette ligne :

For Each v In z
v.Value = v.Value * 1 'Grosse astuce

Le v ne semble pas declare et quel est l'interet v.Valur=v.Value*1 ?

Si tu as d'autres idees pour ameliorer le prgrm, si tu as le temps c'est avec plaisir.

Merci encore, Sinon notre ami Benzema a fait une entree remarquee hier: il a meme pas touche le ballon ^^

@pluche,
Clem
 
Re : Macro graph (debutant)

Bonjour Clemzema🙂

Code:
v.Value=v.Value*1
Simplement pour rendre numérique ce qui n'est que du texte.
Rassure-toi, je ne sais pas pourquoi ça marche, car ça multiplie du texte par 1, et ça donne un nombre. Excel est quelquefois bizarre.
J'avais essayé avec val, qui devait le faire, et ça ne fonctionnait pas.

J'ai amélioré la macro de façon à ce qu'elle traite n'importe quelle colonne.
Code:
Sub tests()
' tests Macro
' Macro recorded 14.10.2010 by Amilien modifiée par Gruick 19.10.2010
Dim c As ChartObject
Dim x As Range, z As Range
Set x = Range("A:A").Find("not implemented", , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
    Set choix = Application.InputBox("Choisir à la souris le titre de la série à traiter", Type:=8)
    Set z = Range(choix.Offset(1, 0), Cells(x.Row - 1, choix.Column))
    z.Select
    For Each v In z
      v.Value = v.Value * 1 'Grosse astuce
    Next
    z.Name = "z": choix.Name = "choix"
    Range(Cells(choix.Row + 1, 1), Cells(x.Row - 1, 1)).Name = "zt"
End If

With Sheets("Sheet1")
    Set c = .ChartObjects.Add(.Range("G15").Left, .Range("G15").Top, 800, 400)
End With

With c.Chart
    .ChartType = xlLineMarkers
    .SetSourceData Source:=Sheets("TX_WLAN_11n_framed_802.11n_HT40").Range("z"), PlotBy:=xlColumns
    .SeriesCollection(1).XValues = "=TX_WLAN_11n_framed_802.11n_HT40!zt"
    .SeriesCollection(1).Name = "=TX_WLAN_11n_framed_802.11n_HT40!choix"
    .HasTitle = True
    .ChartTitle.Characters.Text = "XY Graph"
    .Legend.Position = xlBottom
    .Legend.Font.Size = 8
    .Legend.Font.Bold = True
    .ChartTitle.Text = "XY Graph"
    .ChartTitle.Font.Size = 8
    .ChartTitle.Font.Bold = True
    .Axes(xlCategory).TickLabels.Font.Size = 8
    .Axes(xlValue).TickLabels.Font.Size = 8
End With
End Sub

Pour KB, le Real l'a acheté pour le neutraliser, au cas ou un autre club le possédant jouerai contre eux (ou l'Espagne contre la France par manque de compétition)

Gruick
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Réponses
1
Affichages
520
Réponses
0
Affichages
459
Retour