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:
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:
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