Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

Réponse
 
Outils de la discussion
Vieux 25/08/2008, 21h11   #1 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: mai 2007
Messages: 23
Par défaut Affichage graphique dans UserForm

Bonsoir à toutes et à tous,

J'ai un fichier,BCR_Stats, qui contient 2 feuilles (Données + Graphiques).
A partir de la feuille Graphiques je veux afficher les graphiques de la feuille Données.

Je me suis inspiré d'un fichier posté sur le forum, mais j'ai une erreur de compilation.

En PJ, vous trouverez mon fichier.

D'avance merci pour les réponses qui me parviendront.

Bien cordialement.
Fichiers attachés
Type de fichier : zip BCR_Stats.zip (42,4 Ko, 3 affichages)
ananar est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/08/2008, 21h24   #2 (permalink)
Membre émérite
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 948
Par défaut

bonsoir,...

et c'est quoi le message d'erreur , sur qu'elle ligne de code ?
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/08/2008, 21h36   #3 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: mai 2007
Messages: 23
Par défaut

Bonsoir JackOuYA,

Voici le code :

Code :
Option Explicit
 
Private Sub Label1_Click()
 
End Sub
 
Private Sub UserForm_Initialize()
    Dim i As Byte
    
    'Boucle sur les graphiques incorporés
    For i = 1 To Données.ChartObjects.Count
        ComboBox1.AddItem Données.ChartObjects(i).Chart.Name
    Next i
    
    Feuil2.Shapes("Image 1").CopyPicture xlScreen, xlPicture
    Set Image1.Picture = PastePicture(xlPicture)
End Sub
 
 
 
Private Sub ComboBox1_Change()
    If ComboBox1.ListIndex <> -1 Then
        Données.ChartObjects(ComboBox1.ListIndex + 1).CopyPicture xlScreen, xlPicture
        Set Image1.Picture = PastePicture(xlPicture)
    End If
End Sub
 
En PJ, shoot écran du message d'erreur.
Fichiers attachés
Type de fichier : doc Shoot_Erreur_080825.doc (84,5 Ko, 4 affichages)
ananar est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/08/2008, 21h42   #4 (permalink)
Membre émérite
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 948
Par défaut

re, tu as vu ma nouvelle signature



c'est quoi : Données ?
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/08/2008, 21h50   #5 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: mai 2007
Messages: 23
Par défaut

"Données" c'est le nom de la feuille ou figure mes graphiques.

C'est cette feuille que je souhaite appeler à l'aide d'un UserForm qui se trouve sur la feuille Graphiques.

Ok, j'ai vu ta signature
ananar est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/08/2008, 21h53   #6 (permalink)
Membre émérite
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 948
Par défaut

feuille excel. .? le nom dans l'onglet ?

si oui essai de remplacer Données par :

Code :
 
ThisWorkbook.sheets("Données").....
 
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/08/2008, 22h02   #7 (permalink)
Responsable Excel
 
Avatar de SilkyRoad
 
Date d'inscription: août 2005
Messages: 3 113
Par défaut

Bonsoir


1.
Le nom de la feuille est incorrect.
Remplaces "Données" par Feuil1.



2.
"Image 1" semble ne pas exister dans Feuil2.
Donc, supprime cette partie:

Code :
    Feuil2.Shapes("Image 1").CopyPicture xlScreen, xlPicture
    Set Image1.Picture = PastePicture(xlPicture)



Ce qui donne le code suivant à placer dans le classeur :

Code :
Option Explicit
 
Private Sub UserForm_Initialize()
    Dim i As Byte
    
    'Boucle sur les graphiques incorporés
    For i = 1 To Feuil1.ChartObjects.Count
        ComboBox1.AddItem Feuil1.ChartObjects(i).Chart.Name
    Next i
    
End Sub
 
 
Private Sub ComboBox1_Change()
    If ComboBox1.ListIndex <> -1 Then
        Feuil1.ChartObjects(ComboBox1.ListIndex + 1).CopyPicture xlScreen, xlPicture
        Set Image1.Picture = PastePicture(xlPicture)
    End If
End Sub


bonne soirée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/08/2008, 17h47   #8 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: mai 2007
Messages: 23
Par défaut

Bonjour SilkyRoad,

Merci pour ta réactivité.

C'est exactement ce qu'il me fallait

Bien cordialement.
ananar est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide