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 :

Userform + affichage cellules et graph


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut Userform + affichage cellules et graph
    Bonjour,

    J'aimerais créer un Userform sous VBA dans mon Classeur 1 me permettant d'afficher une plage de cellule d'un autre classeur (Classeur 2) pour le bouton 1 et un graph également pour le bouton 2 se trouvant aussi dans le Classeur 2.
    Les données que je souhaite afficher du Classeur 2 sont actualisées tout les jours donc il faut que l'actualisation se répercute automatiquement sur mon Classeur1 quand j'ouvre mon Userform.

    J'espère avoir été assez clair,

    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Quel est l'utilité de l'userform ? Est-e que tu veux afficher les données ou le graphique à l'intérieur ?

  3. #3
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    L'utilité de mon userform est d'afficher des données (plage de cellule et graph) situé dans un autre classeur.
    Donc l'userform disposera de deux boutons
    - un pour la plage de cellule
    - un autre pour afficher le graph

    Donc oui je souhaite que ces données soit afficher à l'interieur. Sur ma feuille excel je créerais un bouton qui affichera ce UserForm qui lui affichera mes données

    Cordialement

  4. #4
    Expert confirmé
    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
    Par défaut
    Regarde les deux classeurs joints. Le userform se trouve dans le fichier cible. La référence "Microsoft Office Web Components" doit être cochée. Les deux classeurs doivent être ouverts. Le userform contient, outre les boutons, un contrôle SpreadSheet et un contrôle Image. Tout le code se trouve dans le module du userform :

    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
    Public Img As Control
    Private Sub cbDonnées_Click()
        On Error Resume Next
        Me.Controls.Remove (Img.Name)
        With Me.Spreadsheet1
            .Visible = True
            Set plage = Workbooks("jackborogar source.xls").Sheets("Feuil1").Range("Plage")
            For Each c In plage
                .Cells(c.Row - plage.Row + 1, c.Column - plage.Column + 1) = c.Value
            Next c
        End With
    End Sub
     
    Private Sub cbExit_Click()
        Unload Me
    End Sub
     
    Private Sub cbGraphique_Click()
        Me.Spreadsheet1.Visible = False
        If Img Is Nothing Then
            Set Img = Me.Controls.Add("forms.Image.1")
            With Img
                .Left = 0
                .Width = Me.cbExit.Left
                .Height = Me.cbExit.Top
                .Top = 0
            End With
        Else
            Img.Visible = True
        End If
        With Workbooks("jackborogar source.xls").Sheets("Feuil1")
            On Error Resume Next
            Kill ThisWorkbook.Path & "\" & "tmpgraph.jpg"
            On Error GoTo 0
            .ChartObjects("Graphique 1").Chart.Export ThisWorkbook.Path & "\" & "tmpgraph.jpg", "JPG"
            Img.Picture = LoadPicture(ThisWorkbook.Path & "\" & "tmpgraph.jpg")
        End With
    End Sub
     
    Private Sub UserForm_Activate()
        Me.Spreadsheet1.Visible = False
    End Sub
    Je reste à ta disposition pour toute explication complémentaire.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Bonjour Daniel,

    Excuse moi du retard mais j'ai passé mon week end sans ordinateur. Donc je reviens au boulot, donc ton code je le comprends pas mal mais je t'avoue que le "spreadsheet1" je ne le comprends pas. Car c'est un spreadsheet bien à toi et quand je veux le lancer dans mon userform sa me marque "membre de méthode ou de données introuvable". Comment l'instancié?
    Enfin il y a juste ton Img à quoi sert il ici?
    Peux tu m'en dire plus sur cette ligne: Set Img = Me.Controls.Add("forms.Image.1").

    Je te remercie d'avance,

    Cordialement

  6. #6
    Expert confirmé
    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
    Par défaut
    Bonjour,


    le "spreadsheet1" je ne le comprends pas. Car c'est un spreadsheet bien à toi
    Non, c'est un contrôle MS, bien qu'au démarrage, il affiche un massage comme quoi le contrôle peut être dangereux. Est-ce que tu as bien ajouté la référence "Microsoft Office Web Components" ? (dans la fenêtre VBE, menu "Outils", Références.)
    Peux tu m'en dire plus sur cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Img = Me.Controls.Add("forms.Image.1")
    Pour afficher le graphique, je fais un export du graphique au format JPG, je crée un contrôle Image dans lequel j'insère le fichier JPG. Je suis obligé de le créer et de la supprimer, car ce contrôle ne comporte pas de propriété "Visible" qui permettrait de l'occulter quand j'affiche la plage de données.
    NB. Les deux classeurs doivent être ouverts pour le déroulement de la macro. Si ça t'arrange, je peux ouvrir le classeur source.

Discussions similaires

  1. [JFreeChart] affichage d'un graphe dans une page jsp
    Par mokhtarmaroc dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 08/09/2007, 23h13
  2. BO V5 : Affichage chiffres sur graphe 3D ?
    Par scalpa63 dans le forum Débuter
    Réponses: 1
    Dernier message: 06/09/2007, 14h05
  3. Probleme pour l'affichage d'un graphe + question
    Par gbouchat dans le forum ASP
    Réponses: 7
    Dernier message: 23/07/2007, 19h35
  4. Affichage cellule à cellule
    Par PyMon dans le forum Excel
    Réponses: 10
    Dernier message: 21/07/2007, 07h58
  5. [Débutant] Affichage d'un Graph
    Par Carlitox dans le forum LabVIEW
    Réponses: 6
    Dernier message: 08/06/2007, 15h54

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