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

Excel Discussion :

Problème incompatibilité de type pour l'insertion d'un graphique dans un userform [XL-2013]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Problème incompatibilité de type pour l'insertion d'un graphique dans un userform
    Bonjour le forum,

    Comme décrit dans l'intitulé je cherche actuellement à afficher un graphique provenant d'Excel dans un userform, le graphique doit pouvoir se modifier en temps réel.

    J'ai donc utilisé le code suivant :

    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
     
    Private Sub CommandButton1_Click()
     
    Option Explicit
     
    Private Const Fichier As String = "C:\ImageTemp.gif"
     
    Private Sub UserForm_Initialize()
     
       'Supprime l'image temportaire si elle existe
       If Dir(Fichier) <> "" Then Kill Fichier
     
        'Définit le 1er graphique de la Feuil1
        'exporte le graphique au format image
        Worksheets("Graphiques").ChartObjects(1). _
            Chart.Export Filename:=Fichier, filtername:="GIF"
        'Affiche l'image dans l'UserForm
        Image1.Picture = LoadPicture(Fichier)
    End Sub
     
    Private Sub UserForm_Terminate()
       'Supprime l'image temporaire si elle existe
       If Dir(Fichier) <> "" Then Kill Fichier
    End Sub
     
     
    End Sub
    Lorsque je compile on m'indique une erreur "Incompatibilités de type", je ne maitrise pas bien l'insertion de graphique alors j'ai peut-être oublié de modifier un détail dans ce code qui va vous sauter au yeux.

    Merci d'avance pour votre aide

    Ounett

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Déjà, tu encapsules des Sub : c'est pas bien, ça.
    Il faut que tes Sub soient dissociés (mettre un End Sub avant de commencer le Sub suivant).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Tu as raison,

    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
    Private Sub UserForm_Initialize()
     
     
       'Supprime l'image temportaire si elle existe
       If Dir(Fichier) <> "" Then Kill Fichier
     
        'Définit le 1er graphique de la Feuil1
        'exporte le graphique au format image
        Worksheets("Graphiques").ChartObjects(1). _
            Chart.Export Filename:=Fichier, filtername:="GIF"
        'Affiche l'image dans l'UserForm
        Image1.Picture = LoadPicture(Fichier)
    End Sub
    Private Sub UserForm_Terminate()
       'Supprime l'image temporaire si elle existe
       If Dir(Fichier) <> "" Then Kill Fichier
    End Sub
     
     
    Private Sub CommandButton1_Click()
     
        Option Explicit
     
        Private Const Fichier As String = "C:\ImageTemp.gif"
     
     
        UserForm_Initialize
     
        UserForm_Terminate
     
     
    End Sub
    Voilà la version arrangée, le problème persiste.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par ounett Voir le message
    Lorsque je compile on m'indique une erreur "Incompatibilités de type"
    Il n'y a pas de compilation en VBA. Si cette erreur se produit à l'exécution, quelle ligne te signale le debugueur ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Ce qui m'étonne c'est que lors de l'exécution aucune ligne ne se met en jaune, le code semble donc fonctionné, le problème peut-il venir de mon Userform ? Faut-il faire une manipulation particulière si on souhaite y intégrer un graphique ?

    Dans mon cas j'ai crée un Userform classique sur lequel j'ai ajouté un bouton qui doit justement exécuter le code que j'ai transmis.

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans ce cas, à quel moment survient ce message d'erreur ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Lorsque j'utilise la touche F5 depuis VBA, il m'affiche alors mon Userform avec ce message d'erreur par dessus.

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Et il ne te proposes pas un bouton "Débugage" dans ce message ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Petit changement de dernière minute, le problème provenait enfaite simplement du fait que mon Userform s'appelait "Userform1" et non Userform ..

    Maintenant il me met en effet bien une ligne en jaune il s'agit du "Option explicit" qu'il me décrit comme une "Instruction incorrect dans une procédure"

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Tu pourrais peut-être prendre la peine de lire l'aide VBA...
    https://msdn.microsoft.com/fr-fr/lib.../gg278855.aspx
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Oui autant pour moi j'ai posté ce message un peu vite juste pour te signaler que la donne avait changé il y maintenant plusieurs erreurs qui apparaissent mais je doit pouvoir les corriger seul j'attend quelques minutes avant de mettre la discussion en résolue au cas où je serais dans l'impasse.

    Merci encore

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

Discussions similaires

  1. Procédure stockée pour l'insertion d'un cv dans une base de données
    Par o.abdelmalek13 dans le forum Développement
    Réponses: 2
    Dernier message: 28/05/2012, 16h50
  2. [XL-2010] Incompatibilité de type pour une cellule vide
    Par ninikkhuet dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/05/2012, 01h04
  3. Incompatibilité de type pour une date
    Par emulamateur dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/04/2011, 13h03
  4. Problème correspondance de types pour Webservice
    Par LamHM dans le forum Websphere
    Réponses: 0
    Dernier message: 22/06/2009, 10h15
  5. Problème de syntaxe PHP pour un insert
    Par el_butcho dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 28/05/2006, 09h10

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