Creer un graphe qd une cellule perd le focus

bucabuca Messages postés 38 Statut Membre -  
bucabuca Messages postés 38 Statut Membre -
Bonjour,
je voudrais ecrire un code permettant de modifier un Histogramm groupé dont la plage(A1:A5) contient les étiquettes de l'axe des abscisses (X) et la plage(B1:B5) les valeurs correspondantes.
les valeurs des deux plages sont reliées à celle de la cellule C1 c-a-d quand le contenu de C1 change, c'est à ce moment là que je voudrait que ce codese déclanche.
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     
    Il n'y a aucun besoin de code : Quand tu modifies C1 les valeurs de B1:B5 changent et l'histogramme aussi !
    0
    1. bucabuca Messages postés 38 Statut Membre
       
      meci Raymond
      en fait, est-ce qu'il est possile de m'informer comment attribuer une image à l'arriére plan du graphe et que cette image( par exemple photo d'un élève ) change par le changement de la valeur de la cellule C1?
      merci d'avance
      0
  2. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     
    Salut.

    Première partie de la question = Oui, on peut inclure une photo : clic droit dans la zone de traçage / Format ... / Motifs et textures / Onglet image / Image / Sélectionner une image /

    Deuxième partie de la question = Inutile de dire qu'avec tout ça, impossible d'en changer automatiquement parce que C1 change de valeur ! Seul un spécialiste de VBA pourrait peut-être imaginer une macro qui ferait cela ; mais ça m'étonnerait fort !

    Cordialement.
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour à tous

    Vite fait avant d'aller à Messe (avec communion au café des sports)
    Cette macro événementielle pourrait t'aider

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim chemin As String, eleve As String, photo As String
    
    If Intersect(Target, Range("C1")) Is Nothing Then Exit Sub 'délimite l'événement à C1
    'préparation
    chemin = ThisWorkbook.Path ' les photos sont dans le même dossier, sinon indiquer le chemin
    eleve = UCase(Range("C1").Value) 'met les saisies en majuscule
    
    Select Case eleve
        Case Is = "TOTO" 'sensible à la casse!
            photo = chemin & "\toto.jpg"
        Case "TITI"
            photo = chemin & "\titi.jpg"
        Case Else
            Exit Sub 'on sort si pas de photo
    End Select
    
    ActiveSheet.ChartObjects("Graphique 1").Activate
    With ActiveChart.PlotArea
        .Fill.UserPicture photo
        .Fill.Visible = True
    End With
    End Sub


    Pour l'installer, clic droit sur le nom d'onglet-visualiser le code et coller la macro ci dessus

    IMPORTANT: attention à ton numéro de graphique (par ex: "graphique 2" si tu l'as refait)
    Tu auras certainement du W à faire sur les formats de photo (photofiltre, gimp, fastone...)car l'image remplit tout le graphique!(photo verticale et graphique horizontal)
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    ci joint un petit exemple
    http://www.cijoint.fr/cjlink.php?file=cj200812/cij120aYTf.zip
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bucabuca Messages postés 38 Statut Membre
     
    salut tout le monde
    je vais péposer un exemple de classeur dans lequel le graphe change de donnée et d'arrière plan.
    un instant svp

    http://www.cijoint.fr/cjlink.php?file=cj200812/cijHKohY9q.zip

    ***********************************************************************
    vos avis svp
    0