[excel] Macro pour graphique.
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

[excel] Macro pour graphique.



  1. #1
    invite266df5c8

    [excel] Macro pour graphique.


    ------

    Bonsoir à tous.

    Voila je dois actuellement réaliser une macro qui me ferai automatiquement une courbe en fonction de mon tableau.

    -Mon tableau à toujours les mêmes dimensions.
    -En abscisse mes valeurs vont de A30 à A16000
    -Mes ordonnées vont de B30 à B16000, C30 à C16000 et D30 à D16000.

    Vous l'aurez donc compris, mon graphique final sera composée de 3 courbes, et d'ailleurs à ce propos les courbes sont en nuage de points, mais sans les points, juste la courbe "lisse".

    Donc si quelqu'un avait un didacticiel ou un truc du genre pour m'aider je vous en serait vraiment reconnaissant, car il ne me reste aucun souvenir de mes cours de VB xD

    Merci, et si vous avez des questions, n'hésitez pas =)

    -----

  2. #2
    invite2313209787891133
    Invité

    Re : [excel] Macro pour graphique.

    Bonjour

    Tu peux utiliser ça:

    Code:
        Range("A30:D16000").Select
        Charts.Add
        ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
        ActiveChart.SetSourceData Source:=Sheets("test").Range("A30:D16000")
    En remplaçant "test" par le nom de ta feuille.

  3. #3
    invite266df5c8

    Re : [excel] Macro pour graphique.

    Ok merci je vais test ça

  4. #4
    invite266df5c8

    Re : [excel] Macro pour graphique.

    Bon voila j'ai un code qui fonctionne mais j'aimerai corriger 2 petites imperfection.

    Voici mon code :

    Code:
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 09/10/2009 par #######
    '
    
        Charts.Add
        ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(1).XValues = "='trial force test Inconel DA_2'!$A$24:$A$18023"
        ActiveChart.SeriesCollection(1).Values = "='trial force test Inconel DA_2'!$B$24:$B$18023"
        ActiveChart.SeriesCollection(1).Name = "=""Fx"""
        ActiveChart.SeriesCollection(2).XValues = "='trial force test Inconel DA_2'!$A$24:$A$18023"
        ActiveChart.SeriesCollection(2).Values = "='trial force test Inconel DA_2'!$C$24:$C$18023"
        ActiveChart.SeriesCollection(2).Name = "=""Fy"""
        ActiveChart.SeriesCollection(3).XValues = "='trial force test Inconel DA_2'!$A$24:$A$18023"
        ActiveChart.SeriesCollection(3).Values = "='trial force test Inconel DA_2'!$D$24:$D$18023"
        ActiveChart.SeriesCollection(3).Name = "=""Fz"""
        ActiveChart.Location Where:=xlLocationAsNewSheet
        With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = "Results"
            .Axes(xlCategory, xlPrimary).HasTitle = False
            .Axes(xlValue, xlPrimary).HasTitle = False
        End With
    End Sub
    Mes 2 problèmes :

    Je sélectionne les valeurs sur la feuille "trial force test Inconel DA_2", le truc c'est que j'ai des vingtaine de feuille avec après le DA des 1,2,3, ect. Donc quand je lance la macro sur "trial force test Inconel DA_3" et bien, ça marche pas :/ Y a t-il moyen de faire une variable ou quelque chose du genre pour que cela marche quelque soit le numéro du fichier?

    Mon second problème viens de "ActiveChart.ChartType = xlXYScatterSmoothNoMarkers", en effet, je demande une courbe lissé sans points, et il me met des points sur mes courbes à chaque fois cet enfoiré, alors avec 18000 valeurs * 3 colonnes, ça fait un peu trop de points à mon gout... Une solution pour ce problème?

    P.S : je suis sur Excel 2007.

    Merci d'avance
    Dernière modification par yoda1234 ; 10/10/2009 à 07h40. Motif: anonymisation

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

    Re : [excel] Macro pour graphique.

    B'jour,

    Au lieu de mettre
    Code:
     ActiveChart.SeriesCollection(1).XValues = "='trial force test Inconel DA_2'!$A$24:$A$18023"
    qui s'adresse à une feuille fixe, mets plutôt
    Code:
     ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Range("$A$24:$A$18023")
    qui fait avec la feuille active lors du lancement de la macro.
    Mais si t'as l'gosier, Qu'une armure d'acier, Matelasse. Brassens, Le bistrot.

  7. #6
    invite266df5c8

    Re : [excel] Macro pour graphique.

    Merci beaucoup \o/

    Reste plus que la solution à ma deuxième question et c'est nickel

  8. #7
    sitalgo

    Re : [excel] Macro pour graphique.

    Je ne sais pas, il faut lire 4 tonnes de documentation pour avoir une malheureuse syntaxe. Essaie d'appliquer chartype sur les séries au lieu du graphe.
    Mais si t'as l'gosier, Qu'une armure d'acier, Matelasse. Brassens, Le bistrot.

  9. #8
    invite266df5c8

    Re : [excel] Macro pour graphique.

    Héhé oui j'imagine pour la doc...

    Je vais essayer ce que tu as dis, au pire si ça marche pas je ferai ça à la main ça prend 3s.

    Merci à tous encore, bye

  10. #9
    Stan_94

    Re : [excel] Macro pour graphique.

    Bonjour,
    puisque tu peux faire la manipulation à la main, tu peux donc enregistrer une macro de cela et insérer le code dans ton programme VBA, non ?

  11. #10
    invite266df5c8

    Re : [excel] Macro pour graphique.

    Citation Envoyé par Stan_94 Voir le message
    Bonjour,
    puisque tu peux faire la manipulation à la main, tu peux donc enregistrer une macro de cela et insérer le code dans ton programme VBA, non ?
    Ce de là que je suis partit, mais bon c'est vraiment pas top, j'ai du apporter pas mal de correction, c'est pour ces corrections que j'avais besoins d'aide ici

  12. #11
    invite266df5c8

    Re : [excel] Macro pour graphique.

    Citation Envoyé par sitalgo Voir le message
    B'jour,

    Au lieu de mettre
    Code:
     ActiveChart.SeriesCollection(1).XValues = "='trial force test Inconel DA_2'!$A$24:$A$18023"
    qui s'adresse à une feuille fixe, mets plutôt
    Code:
     ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Range("$A$24:$A$18023")
    qui fait avec la feuille active lors du lancement de la macro.
    Bonsoir,

    J'ai essayer ton code, mais même après moult bidouillage, ça ne marche toujours pas, le debug s'arrête toujours sur cette ligne :/

Discussions similaires

  1. une macro de recherche pour excel
    Par invitedcba90e7 dans le forum Logiciel - Software - Open Source
    Réponses: 24
    Dernier message: 12/02/2015, 11h10
  2. macro excel
    Par invite69d38f86 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/01/2009, 18h12
  3. Probleme Macro pour tracer un graphique XY
    Par invite90c5d9d9 dans le forum Logiciel - Software - Open Source
    Réponses: 11
    Dernier message: 26/12/2008, 21h14
  4. macro Excel
    Par gwendoline dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 11/10/2008, 20h06
  5. macro excel
    Par invite4a5096a6 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 09/05/2006, 08h55
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...