Probleme Macro pour tracer un graphique XY
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Probleme Macro pour tracer un graphique XY



  1. #1
    invite90c5d9d9

    Probleme Macro pour tracer un graphique XY


    ------

    Bonjour, je travaille sur Excel2007 et je souhaite faire une macro toute bête qui me trace un graphique en XY nuage de points a partir de 2 colonnes.
    Pour cela, j'utilise l'enregistreur de macro, mais alors, quand je lance la macro, je n'ai pas un graphique XY mais 2 series (mes 2 colonnes) et en abscisse le numero de la case qui correspond...
    Pourtant mon graphique se fait bien pendant l'enregistrement.

    Savez vous d'ou peut venir le probleme ?

    Voici le code de ma macro :
    Sub Macro1()
    '
    ' Macro1 Macro
    '

    '
    Range("G1:H30").Select
    ActiveSheet.Shapes.AddChart.Se lect
    ActiveChart.SetSourceData Source:=Range("Feuil1!$G$1:$H$ 30")
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    End Sub
    Merci d'avance

    -----

  2. #2
    invitebbe24c74

    Re : Probleme Macro pour tracer un graphique XY

    Je pense que la bonne démarche a adopter avec l'enregistreur est de te poser dans n'importe quelle cellule dans ta feuille puis faire
    insertion -> graphique -> nuage de points -> suivant -> onglet série -> Ajouter -> saisir la colonne correspondant aux X et la colonne correspondant aux Y -> Terminer le graphique comme d'habitude.

    Je suppose que dans ton code, tu as voulu mettre les données de la colonne G (G1:G30) en abscisse et H (H1:H30) en ordonnée, ou inversement, si j'ai bien saisi ton problème et la source d'erreur.

  3. #3
    invite90c5d9d9

    Re : Probleme Macro pour tracer un graphique XY

    Merci effectivement, ca marche maintenant.

    Par contre je rencontre un autre probleme, en fait je ne connais pas le nombre de données à mettre dans le tableau. C'est une donnée que je rentre dans une zone de texte useform.

    Cependant, cette synthaxe ne fonctionne pas :

    nbf = (UserForm1.TextBox1.Text)

    ActiveSheet.Shapes.AddChart.Se lect
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    ActiveChart.SeriesCollection.N ewSeries
    ActiveChart.SeriesCollection(1 ).XValues = "=Feuil1!$G$6:$G$nbf"
    ActiveChart.SeriesCollection(1 ).Values = "=Feuil1!$H$6:$H$nbf"
    Comment puis-je faire pour demander d'aller jusqu'à ce numero de ligne que je rentre dans ma zone de texte ? Merci d'avance

  4. #4
    invitebbe24c74

    Re : Probleme Macro pour tracer un graphique XY

    Désolé, je n'étais pas la cet aprem.

    Je vais m'y interessé.
    Un peu de patience, je ne t'oublie pas

  5. A voir en vidéo sur Futura
  6. #5
    invitebbe24c74

    Re : Probleme Macro pour tracer un graphique XY

    Bon, voila, j'ai ta solution (ou presque)

    Chez moi, le code se présente sous la forme

    ActiveChart.SeriesCollection(1 ).XValues = "=Feuil1!R1C7:R30C7"
    ActiveChart.SeriesCollection(1 ).Values = "=Feuil1!R1C8:R30C8"

    Avec R indiquant la ligne(row) et C indiquant la colonne (column)

    Et en posant une variable nb, correspondant au numéro de la ligne, j'obtiens des résultats pour la sytaxe suivante:

    ActiveChart.SeriesCollection(1 ).XValues = "=Feuil1!R6C7:R" & nb & "C7"
    ActiveChart.SeriesCollection(1 ).Values = "=Feuil1!R6C8:R" & nb & "C8"


    Pour introduire une variable dans un format texte, tu dois fermer tes guillemets et l'introduire par & (pense aux espaces, il ne le fait pas toujours).
    Donc toi ça doit ressembler à:
    ActiveChart.SeriesCollection(1 ).XValues = "=Feuil1!$G$6:$G$" & nbf
    ActiveChart.SeriesCollection(1 ).Values = "=Feuil1!$H$6:$H$" & nbf

  7. #6
    invite90c5d9d9

    Re : Probleme Macro pour tracer un graphique XY

    merci pour ton aide

    Par contre j'ai toujours un problème. En mettant cette synthaxe, quelque soit ce que je rentre comme numero de ligne dans ma zone de texte, il va jusqu'au numero de ligne correspond à la case remplie la plus basse quelque soit les colonnes (colonne 1 en l'occurrence). Ensuite, du coup, il me refait des series, et de toutes les colonnes (colonnes A à K).
    Je n'arrive pas à comprendre ce qu'il se passe.

  8. #7
    invitebbe24c74

    Re : Probleme Macro pour tracer un graphique XY

    est ce que c'est un bon format ?
    N'as tu pas un simple espace qui fout tout en l'air.

    Si tu le souhaites, tu peux peut-être m'envoyer le classeur, ou une version "exemple" de ce que tu as actuellement pour que je regarde directement ça, que j'essaye mes petits tests, et peut-être que j'arriverai à une solution.
    Car étant donné que je n'ai pas la même synthaxe, c'est pas évident de donner des détails message par message ^^

  9. #8
    invite90c5d9d9

    Re : Probleme Macro pour tracer un graphique XY

    Merci, finalement en insistant un peu ca marche avec cette synthaxe :

    ActiveChart.SeriesCollection(1 ).XValues = "=Feuil1!R6C7:R" & nbf & "C7"
    ActiveChart.SeriesCollection(1 ).Values = "=Feuil1!R6C8:R" & nbf & "C8"

    Je ne comprend pas pourquoi ca ne marchait pas au début.

    J'aurais plus que 2 petites dernieres questions :
    - Comment affecter à la variable nbf la valeur de la derniere case non vide de la colonne ?
    - Actuellement, pour lancer mes programmes je dois faire alt F11 puis F5 afin d'avoir ma fenetre useform qui apparait. Estce possible d'integrer cette fenetre à ma feuille excel ?


    Merci d'avance

  10. #9
    invite90c5d9d9

    Re : Probleme Macro pour tracer un graphique XY

    Pour le premier probleme, à savoir prendre le numero de la derniere ligne, cette fonction fonctionne :

    Range("A65536").End(xlUp).Sele ct
    nbf = ActiveCell.Row

    Par contre j'ai pas reussi à résoudre mon deuxieme probleme

  11. #10
    invitebbe24c74

    Re : Probleme Macro pour tracer un graphique XY

    Citation Envoyé par sebastien_r31 Voir le message
    - Actuellement, pour lancer mes programmes je dois faire alt F11 puis F5 afin d'avoir ma fenetre useform qui apparait. Estce possible d'integrer cette fenetre à ma feuille excel ?
    Merci d'avance

    Les raccourcis que tu me cites sont ceux pour ouvrir VBE, puis celui pour exécuter le macro.

    Première méthode plus propre: outils -> macros->macros ->et tu exécutes
    Deuxième méthode: à l'enregistrement tu peux attribuer un raccourci clavier avec ctrl puis une touche, pour la lancer rapidement ctrl-J par exemple lol.

    Si tu as d'autres envies fais moi en part, tout est possible

  12. #11
    invite90c5d9d9

    Re : Probleme Macro pour tracer un graphique XY

    ok merci.

    J'ai un dernier petit probleme pour peaufiner mon programme. LE tracage de mon graphique ne se fait pas là où je voudrais (il se fait au milieu de la page).
    Je voudrais qu'il se fasse centré sur la colonnne P20.

    Voici comment je trace mon graphique (un peu modifier par rapport à precedemment compte tenu que j'ai du passer sous un excel anterieur) :
    Range("G6:H" & nbf & "").Select
    Charts.Add
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers

    ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range ("G6:H" & nbf & ""), PlotBy _
    :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
    With ActiveChart
    .HasTitle = False
    .Axes(xlCategory, xlPrimary).HasTitle = False
    .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    Application.CommandBars("Chart ").Visible = False

    Comment puis je faire pour le tracer la où je souhaite ? (et idealement le redimensionner ?)

  13. #12
    invitebbe24c74

    Re : Probleme Macro pour tracer un graphique XY

    Tu n'arrives pas à tes fins avec l'enregistreur???

    Je suppose qu'il se place toujours au même endroit et à la même taille.
    La redimension se fait facilement avec l'enregistreur.

    Tu peux faire des essais avec un graphique vierge.

Discussions similaires

  1. Problème pour tracer un vecteur
    Par invite99c1d8a7 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 19/10/2008, 20h05
  2. Tracer graphique Matlab
    Par inviteaf8d1eb2 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 05/06/2008, 21h40
  3. macro pour me simplifier le vie
    Par invite5054cfb3 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 06/05/2008, 21h19
  4. code pour macro
    Par invitefe239dc2 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 28/07/2007, 19h21
  5. Problème d'échelle pour tracer des courbes.
    Par invite0c5534f5 dans le forum Mathématiques du supérieur
    Réponses: 15
    Dernier message: 13/09/2005, 21h04
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...