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 :

Remplissage d'une zone graphique [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Statisticien et Informaticien
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Statisticien et Informaticien
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 31
    Points
    31
    Par défaut Remplissage d'une zone graphique
    Bonjour Forum,

    je fais un graphique et j'aimerai enlever le remplissage de fond du graphique. Autrement dis, je veux que l'on voit derrière mon graph.

    J'ai déjà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Grph
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
            .Border.LineStyle = 0
            .Interior.ThemeColor = 0
        End With

    C'est mon Interior que je ne connais pas.

    Merci d'avance pour l'aide.

    Cordialement,

    Thordek

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    D'après l'enregistreur de macros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Set grph = ActiveSheet.Shapes("Graphique 1")
        With grph
            .Fill.Visible = msoFalse
        End With

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Statisticien et Informaticien
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Statisticien et Informaticien
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 31
    Points
    31
    Par défaut
    Bonjour Daniel,

    Merci d'avoir répondu.

    Comment as-tu fait pour enregistrer une macro sur un graph ? Mon excel ne veut pas, tout ce que je fais comme changement sur un graphique en mode enregistreur de macro, ça ne me ressort rien de valable.

    Mais ça ne fonctionne pas le ".Fill.Visible = msoFalse", j'ai le message d'erreur suivant : propriété ou méthode non gérée par cet objet.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    L'enregistreur de macros d'Excel 2007 est une vraie calamité... Je viens de l'exécuter avec Excel 2007. Quelle erreur as-tu ? comment as-tu défini "grph" ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Statisticien et Informaticien
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Statisticien et Informaticien
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 31
    Points
    31
    Par défaut
    voici mon code complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Sub RepositionneGraphique()
        Dim Emplacement As Range
        Dim Grph As ChartObject
     
     
    For i = 1 To 20
     
    Sheets(i).Select
     
    Range("C227") = "FI apprentissage"
    Range("C228") = "FI voie scolaire"
     
        Set Grph = ActiveSheet.ChartObjects("Graphique 2")
        Set Emplacement = Range("B212:K223")
     
        With Grph
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
            .Border.LineStyle = 0
            '.Fill.Visible = msoFalse
        End With
     
     
    'ActiveChart.Legend.Position = xlLegendPositionRight
    ' ActiveChart.Legend.Width = 160
    ' ActiveChart.Legend.Left = ActiveChart.ChartArea.Width
     
     
        Set Grph = ActiveSheet.ChartObjects("Graphique 3")
        Set Emplacement = Range("B225:G233")
     
        With Grph
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
            .Border.LineStyle = 0
        End With
     
     
        Set Grph = ActiveSheet.ChartObjects("Graphique 4")
        Set Emplacement = Range("G225:K233")
     
        With Grph
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
            .Border.LineStyle = 0
            '.HasLegend = False
            '.Fill.Visible = msoFalse
        End With
     
    Next i
     
    End Sub
    Partout où j'ai des " ' ", ce sont des choses que je n'arrive pas à faire (mettre la légende du graphique 2 en bas à droite, enlever le fond des graphiques 2 et 4, enlever la légende du graphique 4).

    Et si en plus tu sais comment mettre le titre en arial 8 gras, ça me serait d'une grande aide.

    La boucle est là car j'ai 20 pages avec le même format.

    Encore merci de ton aide.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    La différence vient du fait que, pour toi, "Grph" est un "ChartObject" alors que pour moi c'est une Shape.

    Les codes suivants fonctionnent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Set Grph = ActiveSheet.Shapes("Graphique 1")
        With Grph
            .Fill.Visible = msoFalse
        End With
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Set Grph = ActiveSheet.ChartObjects("Graphique 1")
        'Set Grph = ActiveSheet.ChartObjects("Graphique 2")
     
        Set Emplacement = Range("B212:K223")
     
        With Grph
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
            .Border.LineStyle = 0
            .Fill.Visible = msoFalse
            .Chart.ChartArea.Format.Fill.Visible = msoFalse
        End With

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Statisticien et Informaticien
    Inscrit en
    Juin 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Statisticien et Informaticien
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 54
    Points : 31
    Points
    31
    Par défaut
    Yeahhh, le Shapes fonctionne, merci beaucoup.

    Bonne fin de journée. Je mets le sujet en résolu.

    Encore merci à toi.

    Cordialement,

    Thordek

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

Discussions similaires

  1. [PHP-JS] Automatiser le remplissage d'une zone texte
    Par khamett dans le forum Langage
    Réponses: 4
    Dernier message: 10/10/2007, 09h40
  2. clear d'une zone graphique ( ex rectangle )
    Par Minos2 dans le forum MFC
    Réponses: 4
    Dernier message: 17/07/2007, 15h48
  3. [VB]Remplissage d'une zone précise de la Picture Box
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/01/2006, 20h11
  4. Ajout de bouton à une zone graphique
    Par Pépé Lélé dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 19/12/2005, 22h51
  5. Remplissage d'une zone d'un canvas
    Par ulysse66x dans le forum Composants VCL
    Réponses: 5
    Dernier message: 31/01/2004, 13h41

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