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 :

Erreur de syntaxe pour marge d'erreur personnalisée (barres d'incertitude)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Par défaut Erreur de syntaxe pour marge d'erreur personnalisée (barres d'incertitude)
    Bonjour à toutes et à tous,

    Je cherche à faire afficher des barres d'erreur pour la série 4 dans le graphique g2.
    Mes marges d'erreurs doivent être personnalisées et correspondent à des valeurs prises dans la feuille "Rapport". Seulement, la plage est de taille variable : elle dépend de la valeur compteur_sonde qui est demandée à l'utilisateur auparavant.
    Pour insérer ces barres d'erreurs, j'ai essayé de remodeler ce que l'enregistreur de macro me donnait, j'ai juste modifié au niveau de la plage et évidemment cela ne fonctionne pas (erreur avec l'objet seriescollection).

    J'avais vu des syntaxes uniquement en format R1C1, est-ce qu'il est possible quand même de réaliser ce que je voudrais ou c'est peine perdue?

    Merci beaucoup d'avance à toute personne qui m'aura lue et qui pourrait me donner un petit coup de pouce !

    Bonne journée/soirée


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g2.SeriesCollection(4).ErrorBar Direction:=xlY, Include:=xlBoth, _
            Type:=xlCustom, Amount:="=Sheets("Rapport").range(cells(8,8),cells(7+compteur_sonde,8))", MinusValues:= _
            "=Sheets("Rapport").range(cells(8,8),cells(7+compteur_sonde,8))"

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    Regarde ce qui est en rouge dans ton poste. Ce sont des chaine de cratères, le reste entre les zone rouges sont des variables ou des mots clefs...

    Donc si tu veux une chaine de caractère avec des guillement à l'intérieur ("Rapport") il faut les doubler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=sheets(""Rapport"").range(cells(8,8),cells(7+compteur_sonde,8))"
    après si tu veux le contenue de la cellule pourquoi mettre des guillement aux extrémité? Tu ne veux pas d'une chaine de caractère tu veux le contenu de la cellule!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    g2.SeriesCollection(4).ErrorBar Direction:=xlY, Include:=xlBoth, _
            Type:=xlCustom, Amount:=Sheets("Rapport").Range(Cells(8, 8), Cells(7 + compteur_sonde, 8)), MinusValues:=Sheets("Rapport").Range(Cells(8, 8), Cells(7 + compteur_sonde, 8))

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Par défaut
    Rebonjour,

    Merci pour la rapidité et en effet je n'avais pas bien "pensé" la chose

    Par contre, cela ne marche toujours pas avec cette solution : (rap équivaut à "Rapport")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g2.SeriesCollection(4).ErrorBar Direction:=xlY,Include:=xlBoth,Type:=xlCustom, _
            Amount:=Sheets(rap).Range(Cells(8, 8), Cells(7 + compteur_sonde, 8)), _
            MinusValues:=Sheets(rap).Range(Cells(8, 8), Cells(7 + compteur_sonde, 8))
    J'ai le message "la méthode cells de l'objet _Global a échouée".
    J'ai donc essayé ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Sheets(rap)
    g2.SeriesCollection(4).ErrorBar Direction:=xlY,Include:=xlBoth,Type:=xlCustom, _
            Amount:=.Range(.Cells(8, 8), .Cells(7 + compteur_sonde, 8)), _
            MinusValues:=.Range(.Cells(8, 8), .Cells(7 + compteur_sonde, 8))
    End with
    Et là j'ai eu "la méthode seriescollection de l'objet _Chart a échouée".

    Si tu pouvais encore m'accorder quelques minutes et une éventuelle petite idée, ca m'aiderait bien !

    Merci d'avance

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    bon tout d'abord pourquoi la première solution ne fonctionne pas

    Sheets(rap).Range(Cells(8, 8), Cells(7 + compteur_sonde, 8))
    cela revient a dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(rap).Range(activesheet.Cells(8, 8), activesheet.Cells(7 + compteur_sonde, 8))
    Du coup les cellules qui définisse le range peuvent ne pas être sur la même feuille que le range lui même et la s'en est trop pour excel

    Le with permet de résoudre le problème en précisant a chaque fois la feuille sans alourdir l'écriture.

    Après pour la suite je ne fait jamais de graphique par macro je fini toujours par avoir un truc qui part en sucette Du coup je ne peux pas vraiment t'aider, désolé

  5. #5
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    A tout hasard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Sheets(rap)
    g2.SeriesCollection(4).ErrorBar Direction:=xlY,Include:=xlBoth,Type:=xlCustom, _
            Amount:=.Range(Cells(8, 8), .Cells(7 + compteur_sonde, 8)), _
            MinusValues:=.Range(Cells(8, 8), Cells(7 + compteur_sonde, 8))
    End with
    ou:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Sheets(rap)
    Set PlMinus=.Range(Cells(8, 8), Cells(7 + compteur_sonde, 8))
    Set PlAmount=.Range(Cells(8, 8), Cells(7 + compteur_sonde, 8))
    with g2.seriescollection(4)
    .ErrorBar Direction:=xlY,Include:=xlBoth,Type:=xlCustom, Amount:=PlAmount,MinusValues:=PlMinus
    End with
    end with
    sinon:
    c'est pas top de selectionner la feuille mais bon ça peut peu être marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sheets(rap).select
    with g2.seriescollection(4)
    .ErrorBar Direction:=xlY,Include:=xlBoth,Type:=xlCustom, _
            Amount:=Range(Cells(8, 8), Cells(7 + compteur_sonde, 8)),MinusValues:=Range(Cells(8, 8), Cells(7 + compteur_sonde, 8))
    End with

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Par défaut
    Bonjour tout le monde,

    Merci pour vos explications et suggestions ! (rapides en plus de ça)

    Malheureusement, cela ne marche toujours pas.

    Cette étape étant minoritaire dans mon programme, j'ai eu l'accord de mon chef (qui ne s'y connaît pas en VBA) pour la considérer "facultative"

    Donc je laisse cette discussion ouverte encore quelques jours au cas où quelqu'un aurait un éclair de génie, sinon je la placerai en "Résolu" pour ne pas encombrer le forum de posts non résolus pour rien.

    Bonne journée à tous

Discussions similaires

  1. [MySQL] Erreur de syntaxe pour MySQL
    Par lola13 dans le forum PHP & Base de données
    Réponses: 31
    Dernier message: 02/12/2008, 13h15
  2. Aide pour identifier une erreur de syntaxe
    Par tribalou dans le forum Cobol
    Réponses: 10
    Dernier message: 21/02/2008, 01h46
  3. Réponses: 5
    Dernier message: 14/12/2006, 13h23
  4. Réponses: 4
    Dernier message: 21/07/2006, 12h00
  5. [SQL2K][BCK] erreur de syntax pour update et insert
    Par lifecraft dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/02/2006, 11h31

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