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 :

ma commande shell execute n'ouvre que les fichier TXT


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut ma commande shell execute n'ouvre que les fichier TXT
    Bonjour,

    je suis pas informaticienne et j ai jamais programmé en VBA excel.
    Donc aujourd hui j'ai besoin d ouvrir à chaque fois un fichier different selon la valeur d une cellule.
    J ai un peu fouiner sur internet et sur votre forum j'ai trouvé un ptit code qui a bien reussi a ouvrir un fichier mais uniquement un fichier TXT. Or, dans mon cas j veux ouvrire des fichiers gif.
    Le test est concluant quand je mets dans les parametres de la fonction le chemin d'un fichier texts. mais ça foire quand il s'agit d un autre type de fichier
    Voila le code

    Dans le module j ai mis

    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
    43
    44
    Option Explicit
     
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
            ByVal hwnd As Long, _
            ByVal lpOperation As String, _
            ByVal lpFile As String, _
            ByVal lpParameters As String, _
            ByVal lpDirectory As String, _
            ByVal nShowCmd As Long) As Long
     
    Function OuvrirDocument(strChemin As String)
     
        'Déclaration des variables
        Dim strErreur As String
     
        Select Case ShellExecute(0, "open", strChemin, vbNullString, vbNullString, 1)
     
            Case 0: strErreur = "Le système manque de mémoire ou de ressources, l'exécutable est corrompu ou réallocations non valides."
            Case 2: strErreur = "Fichier non trouvé."
            Case 3: strErreur = "Chemin non trouvé."
            Case 5: strErreur = "Une tentative a été faite pour se lier dynamiquement à une tache, ou il y a eu une erreur de partage ou de protection réseau."
            Case 6: strErreur = "La librairie requiert des segments de données séparés pour chaque tâche."
            Case 8: strErreur = "Il n 'y a pas assez de mémoire disponible pour lancer l'application."
            Case 10: strErreur = "Version de Windows incorrecte."
            Case 11: strErreur = "Le fichier exécutable n'est pas correct, il se peut que ce ne soit pas une application Windows, ou qu'il y ait une erreur dans le fichier .EXE;"
            Case 12: strErreur = "L'application a été conçue pour un autre système d'exploitation."
            Case 13: strErreur = "L'application a été conçue pour MS-DOS 4.0."
            Case 14: strErreur = "Le type de fichier exécutable est inconnu."
            Case 15: strErreur = "Tentative de chargement d'une application en mode réel."
            Case 16: strErreur = "Tentative de charger une seconde instance d'un fichier exécutable contenant plusieurs segments de données qui ne sont pas marqués en lecture seule."
            Case 19: strErreur = "Tentative de charger un fichier exécutable compressé. Le fichier doit être décompressé avant d'être chargé."
            Case 20: strErreur = "Fichier de librairie liée dynamiquement (DLL) incorrect, une des DLLs requise pour exécuter cette application est corrompue."
            Case 21: strErreur = "L 'application requiert les extensions Microsoft Windows 32-bit."
            Case 31: strErreur = "Il n 'y a pas d'association pour le type de fichier spécifié, ou il n'y a pas d'association pour l'action choisie pour le type de fichier choisi."
     
        End Select
     
        If strErreur <> "" Then
     
            MsgBox strErreur, vbCritical, "Erreur"
     
        End If
     
    End Function
    Pour appeler la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
     
     Sub OpenFile()
     
    Dim strFileName As String
    Dim X
    If Cells(1, 1) = "F" Then
    strFileName = " C:\Users\Yosser\Desktop\ENA.jpg"
    X = OuvrirDocument(strFileName)
    End If
    End Sub
    Merci de m'aider, je suis vraiment bloquée et j ai besoin d'avancer

    Thank you

  2. #2
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut et bienvenu
    Le problème ne vient pas du code, enfin juste une erreur de frappe de ta part
    " C:\Users\Yosser\Desktop\ENA.jpg"
    attention a l'espace avec le C:\.., c'est lui qui te pose problème.
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut c'est genial !!!
    1000000 fois merci !!
    Mon code marche maintenant ))

  4. #4
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Avec plaisir.

    a++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. FTP que les Fichier *.txt
    Par dimitris dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 24/09/2008, 14h12
  2. subclipse ne prend que les fichiers java
    Par elekis dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/01/2007, 13h36
  3. Qu'est ce que les fichiers egafix/sys.fon ?
    Par Jérôme Lambert dans le forum Windows
    Réponses: 1
    Dernier message: 28/11/2006, 14h00
  4. [MySQL] N'afficher que les fichiers du serveur Ftp insérés dans la base de données
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/08/2006, 19h41
  5. Est-ce que les fichiers .obj sont tous les mêmes?
    Par Bubonik software dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/12/2003, 21h04

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