Recuperer une image - erreur 53
Bonjour le forum
je cherche a récupérer une image dans un dossier.
Parfois l'image dont le nom de la Textbox n'existe pas
VOICI LA MACRO :
Dim NomImage As String
Dim CheminImage2 As String
' Récupérez le nom de l'image à partir userform
NomImage = TextBox12
' Spécifiez le chemin complet de l'image
CheminImage2 = ThisWorkbook.Path & "\" & NomImage & ".jpg"
If TextBox12 = "" Then
GoTo 3
Else
Me.Image2.Picture = LoadPicture(CheminImage2)
If Me.Image2.Picture Is Nothing Then
GoTo 3
Else
Me.Image2.Picture = LoadPicture(CheminImage2) ' VOIR AU CAS OU L'IMAGE N'EST PAS TROUVEE
End If
malheureusement j'ai une erreur 53
Merci de votre aide
Bonjour,
Sans fichier il est difficile de t'aider.
Cependant :
Je suppose que cette macro est placée dans l'Userform (emploi de Me.) et qu'elle est déclenchée par un bouton ?
L'erreur 53 signifie que le fichier recherché est inexistant. Elle doit se produire sur la ligne
Me.Image2.Picture = LoadPicture(CheminImage2)Voici une solution qui teste l''erreur
Private Sub CommandButton1_Click()
Dim NomImage As String
Dim CheminImage2 As String
Dim i As Integer
If Me.TextBox12 <> "" Then ' Sort si vide
NomImage = Me.TextBox12
CheminImage2 = ThisWorkbook.Path & "\" & NomImage & ".jpg"
On Error Resume Next
Me.Image2.Picture = LoadPicture(CheminImage2)
i = Err.Number
On Error GoTo 0
If i = 53 Then
MsgBox "Fichier introuvable", vbCritical, "Erreur"
Exit Sub
ElseIf i <> 0 Then
MsgBox "Autre erreur", vbCritical, "Erreur"
Exit Sub
End If
End If
End SubQui peut être simplifiée par
Private Sub CommandButton1_Click()
Dim i As Integer, a$
With Me
If .TextBox12 <> "" Then
On Error Resume Next
.Image2.Picture = LoadPicture(ThisWorkbook.Path & "\" & .TextBox12 & ".jpg")
i = Err.Number: a$ = Err.Description
On Error GoTo 0
If i <> 0 Then
MsgBox "Erreur : " & i & " " & a$, vbCritical, "Erreur"
Exit Sub
End If
End If
End With
End SubA toi de voir les modifs à apporter.
Eric
Bonjour Eric,
Merci pour ta réponse qui règle mon problème.
J'ai intégré dans la macro de la userform ton premier code.
je joints en PJ mon fichier, qui pourra servir à d'autres Excel-pratique men...!!!
Bonne journée.