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 :

Erreur d'execution 91


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Août 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Août 2015
    Messages : 14
    Par défaut Erreur d'execution 91
    Bonjour à tous,

    Voilà j'ai un petit problème à l'intérieur d'un select case.

    En effet, mon code me renvoie l'erreur d'execution 91.

    Voilà le morceau de code ou ça bloque.

    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
    Select Case m
        Case Is = 1
            F = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\1.jpg").Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left
        Case Is = 2
            F = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\2.jpg").Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left
        Case Is = 3
            F = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\3.jpg").Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left
        Case Is = 4
            F = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\4.jpg").Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left
        Case Is = 5
            F = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\5.jpg").Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left
        Case Is = 6
            F = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\6.jpg").Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left
    End Select

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Par défaut
    Bonjour,

    de quels types sont les variables m et F ?

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Août 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Août 2015
    Messages : 14
    Par défaut
    m est un integer et F un object

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Par défaut
    Si nous voulons garder :
    Il faut ajouter le mot clé "SET", voici un bout de code en exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Select Case m
        Case Is = 1
            set F = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\1.jpg")
            F.Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left

  5. #5
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Août 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Août 2015
    Messages : 14
    Par défaut
    Merci ça fonctionne. Par contre je ne comprends pas pourquoi, si vous savez me l'expliquer je suis preneur.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Par défaut
    Pour attribuer une valeur à un object, il faut forcément utiliser le mot clé "SET". Je n'ai pas vraiment d'explication à vous donner, peut-être que quelqu'un saura mieux que moi.

    Cependant, je me permets de revenir sur votre sujet, j'ai remarqué que le nom de votre fichier jpg est égale à 'm'.

    Pourquoi ne pas modifier votre code, et enlevé votre select case ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim m As Integer
    Dim f As Object
     
            Set f = ActiveSheet.Pictures.Insert("C:\Users\lepoittevin_j\Desktop\" & m & ".jpg")
            f.Select
            Selection.Name = "F"
            Selection.Top = [M10].Top
            Selection.Left = [M10].Left
    Sachant que 'm' est égale à 1,2,3,4,5 ou 6 et que le nom de vos fichiers est 1.jpg, 2.jpg etc..., ça vous évite un select case !

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Merci ça fonctionne. Par contre je ne comprends pas pourquoi, si vous savez me l'expliquer je suis preneur.
    C'est tout simplement une instruction VB pour affecter un objet à une variable, de même que l'instruction Dim pour déclarer une variable (objet ou autre) ou Const pour une constante. VB a été conçu comme ça, il n'y a pas d'autre explication

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

Discussions similaires

  1. erreur d'execution 3704, ...:objet n'est pas ouvert
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/11/2005, 16h44
  2. [ERREUR D'EXECUTION] Segmentation Fault
    Par CestPasMoi dans le forum C++
    Réponses: 3
    Dernier message: 26/11/2005, 18h38
  3. Réponses: 3
    Dernier message: 03/11/2005, 19h41
  4. [LDAP][Interface Winldap.h] Erreur d'execution
    Par -=Spoon=- dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 10/03/2005, 18h10
  5. [javamail] erreur d'execution
    Par bibx dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 05/12/2003, 12h04

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