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.
A voir également:

5 réponses

Raymond PENTIER Messages postés 71871 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Il n'y a aucun besoin de code : Quand tu modifies C1 les valeurs de B1:B5 changent et l'histogramme aussi !
0
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
Raymond PENTIER Messages postés 71871 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
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
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
ci joint un petit exemple
http://www.cijoint.fr/cjlink.php?file=cj200812/cij120aYTf.zip
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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