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 :

problème macro avec nuage de point


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Par défaut problème macro avec nuage de point
    Bonjour,

    J'avais fait une demande afin de connaitre les commandes à mettre pour traiter 365 fichiers dans un même dossier automatiquement avec une macro mais je n'ai pas eu de réponse...

    Donc je vais traiter mes fichiers un a un en enregistrant une macro. Dans celle ci je supprime des colonnes, changes les . en , et je sélectionne 2 colonnes et choisit nuage de point.
    Une fois ces étapes faites j'enregistre la macro faite sur le fichier "2010-04-01.csv"

    J'ouvre le fichier "2010-04-02.csv"
    La suppression des colonnes et le changement . en , se fait bien mais j'ai une erreur sur le graphique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        [...]
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlXYScatterSmooth
        ActiveWindow.SmallScroll ToRight:=-6
        ActiveWindow.SmallScroll Down:=-30
        Range("A7:B58").Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlXYScatterSmooth
        ActiveChart.SetSourceData Source:=Range("'2010-04-01'!$A$7:$B$58")
    End Sub
    Dans l'attente de vos réponses, merci d'avance.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveChart.SetSourceData Source:=Range("A7:B58")

    EDIT

    Le mieux est de travailler avec les objets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Grf As ChartObject
     
    With ActiveSheet
        Set Grf = .ChartObjects.Add(100, 50, 400, 200)
        Grf.Chart.ChartType = xlXYScatterSmooth
        Grf.Chart.SetSourceData Source:=.Range("A7:B58")
        Set Grf = Nothing
    End With

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Par défaut
    ok, merci pour ta réponse,
    je teste sa et je te tiens au courant.

    Encore merci

    PS: tu n'aurais pas une idée pour une ouverture automatique de fichiers...

    alors je viens de tester et maintenant l'erreur se trouve ailleurs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    End With
        Range("L11").Select
        ActiveWindow.SmallScroll ToRight:=-5
        ActiveWindow.SmallScroll Down:=0
        Range("A7:A71").Select
        ActiveWindow.SmallScroll Down:=-120
        Range("A7:A71,B7:B71").Select
        Range("B7").Activate
        ActiveWindow.SmallScroll Down:=-102
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlXYScatterSmooth
        ActiveChart.SetSourceData Source:=Range( _
            "'13-05-2011'!$A$7:$A$71;'13-05-2011'!$B$7:$B$71")
    End Sub
    J'ai bien configuré excel en point dans Paramètres régionaux...
    Je cherche sur le net mais je ne trouve pas encore de réponse, donc si tu peux m'aider encore une fois, c'st avec plaisir.

    Merci d'avance

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    On te donne des codes pour les tester.
    Travaille avec les objets comme proposé dans le code précédent.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Par défaut
    ralala excuse moi, j'ai lu trop vite...
    J'ai lu, travail avec des points, autant pour moi. Je teste

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Par défaut
    j'avais donc sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Range("L11").Select
        ActiveWindow.SmallScroll ToRight:=-5
        ActiveWindow.SmallScroll Down:=0
        Range("A7:A71").Select
        ActiveWindow.SmallScroll Down:=-120
        Range("A7:A71,B7:B71").Select
        Range("B7").Activate
        ActiveWindow.SmallScroll Down:=-102
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlXYScatterSmooth
        ActiveChart.SetSourceData Source:=Range( _
            "'13-05-2011'!$A$7:$A$71;'13-05-2011'!$B$7:$B$71")
    j'ai modifié grace à ton code mais je n'ai aucune base en VBA malheureusement. j'ai juste fait la macro puis je suis allé voir ou était le problème dans la macro...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With ActiveSheet
        Set Grf = .ChartObjects.Add("A7:A71,B7:B71")
        Grf.Chart.ChartType = xlXYScatterSmooth
        Grf.Chart.SetSourceData Source:=.Range( _
            "'13-05-2011'!$A$7:$A$71;'13-05-2011'!$B$7:$B$71")
        Set Grf = Nothing
        End With
    l'erreur doit se trouver dans la facon d'écrire les colonnes sélectionnées pour le graphe :/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Valeurs concurrentes dans un graphique avec nuage de points
    Par hirdev01 dans le forum Excel
    Réponses: 4
    Dernier message: 12/06/2015, 09h14
  2. Macro pour nuage de points comprenant deux séries
    Par lhuuna dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/08/2011, 09h49
  3. [2K8] Problème avec un graphique de type nuage de point
    Par la_fouine1806 dans le forum SSRS
    Réponses: 0
    Dernier message: 07/10/2010, 14h37
  4. [XL-2007] Problème macro avec If
    Par Jay29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/10/2009, 16h47
  5. Macro avec pb de point
    Par Tof XXX dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 25/01/2008, 19h49

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