Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

gérer l'erreur 438

2 réponses
Avatar
plex
J'ai une erreur 438 quand j'interromps une procédure d'insertion d'image,
c'est normal, mais cette erreur 438 renvoie l'utilsateur vers l'éditeur VB,
et je voudrais éviter cela.
Finalement je voudrais gérer l'erreur 438 avec un message "...." mais en
restant sur la feuille excel.
Enfin je ne voudrais pas que l'utilisateur se retrouve sur l'éditeur, je ne
tiens pas a ce qu'il bricole.

Est ce que c'est possible et comment le faire ?

Merci pour le coup de main

ci après la procédure

'insertion de photos
Option Explicit
----------------------
'insertion photo 1 janvier 2009
Private Sub CommandButton1_Click()
Dim ShapeObj As Object

'On Error GoTo fin
Range("I4").Select
Dim RemovePicture As Integer
For Each ShapeObj In ActiveSheet.DrawingObjects ' boucle pour supprimer
ancienne image
If ShapeObj.Name = "cible1" Then
RemovePicture = MsgBox("cette action supprimera la photo existante." &
Chr(13) & "voulez vous continuer ?", vbYesNo, "Delete before Inserting")
'
If RemovePicture = vbYes Then
ActiveSheet.Shapes("cible1").Delete
Exit For
Else
Exit Sub
End If

End If
Next
'position photo 1
Range("I4").Select

Application.Dialogs(xlDialogInsertPicture).Show
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Name = "cible1"
If Selection.ShapeRange.Height > Selection.ShapeRange.Width Then
Selection.ShapeRange.Height = 190
Else
Selection.ShapeRange.Width = 210
End If

--

2 réponses

Avatar
michdenis
Un exemple de gestion d'erreur :

Si tu veux passer par dessus l'erreur sans message
tu écris simplement en début de procédure :
On error resume next
'----------------------------------
Sub test1()

Dim GestionErreur As String

On Error GoTo GestionErreur
Set Sh = Worksheets("ExitePas")
MsgBox "Ok ? "
Exit Sub
GestionErreur:
MsgBox "Une erreur " & Err.Number & " a été déclenché"
'Et pour revenir à la ligne suivante du code
'si tu le désires et que ça fait du sens !
Resume Next

End Sub
'---------------------------------



"plex" a écrit dans le message de groupe de discussion :

J'ai une erreur 438 quand j'interromps une procédure d'insertion d'image,
c'est normal, mais cette erreur 438 renvoie l'utilsateur vers l'éditeur VB,
et je voudrais éviter cela.
Finalement je voudrais gérer l'erreur 438 avec un message "...." mais en
restant sur la feuille excel.
Enfin je ne voudrais pas que l'utilisateur se retrouve sur l'éditeur, je ne
tiens pas a ce qu'il bricole.

Est ce que c'est possible et comment le faire ?

Merci pour le coup de main

ci après la procédure

'insertion de photos
Option Explicit
----------------------
'insertion photo 1 janvier 2009
Private Sub CommandButton1_Click()
Dim ShapeObj As Object

'On Error GoTo fin
Range("I4").Select
Dim RemovePicture As Integer
For Each ShapeObj In ActiveSheet.DrawingObjects ' boucle pour supprimer
ancienne image
If ShapeObj.Name = "cible1" Then
RemovePicture = MsgBox("cette action supprimera la photo existante." &
Chr(13) & "voulez vous continuer ?", vbYesNo, "Delete before Inserting")
'
If RemovePicture = vbYes Then
ActiveSheet.Shapes("cible1").Delete
Exit For
Else
Exit Sub
End If

End If
Next
'position photo 1
Range("I4").Select

Application.Dialogs(xlDialogInsertPicture).Show
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Name = "cible1"
If Selection.ShapeRange.Height > Selection.ShapeRange.Width Then
Selection.ShapeRange.Height = 190
Else
Selection.ShapeRange.Width = 210
End If

--
Avatar
plex
OK, c'est tout bon

Merci pour le coup de main

"michdenis" a écrit dans le message de news:

Un exemple de gestion d'erreur :

Si tu veux passer par dessus l'erreur sans message
tu écris simplement en début de procédure :
On error resume next
'----------------------------------
Sub test1()

Dim GestionErreur As String

On Error GoTo GestionErreur
Set Sh = Worksheets("ExitePas")
MsgBox "Ok ? "
Exit Sub
GestionErreur:
MsgBox "Une erreur " & Err.Number & " a été déclenché"
'Et pour revenir à la ligne suivante du code
'si tu le désires et que ça fait du sens !
Resume Next

End Sub
'---------------------------------



"plex" a écrit dans le message de groupe de
discussion :

J'ai une erreur 438 quand j'interromps une procédure d'insertion d'image,
c'est normal, mais cette erreur 438 renvoie l'utilsateur vers l'éditeur
VB,
et je voudrais éviter cela.
Finalement je voudrais gérer l'erreur 438 avec un message "...." mais en
restant sur la feuille excel.
Enfin je ne voudrais pas que l'utilisateur se retrouve sur l'éditeur, je
ne
tiens pas a ce qu'il bricole.

Est ce que c'est possible et comment le faire ?

Merci pour le coup de main

ci après la procédure

'insertion de photos
Option Explicit
----------------------
'insertion photo 1 janvier 2009
Private Sub CommandButton1_Click()
Dim ShapeObj As Object

'On Error GoTo fin
Range("I4").Select
Dim RemovePicture As Integer
For Each ShapeObj In ActiveSheet.DrawingObjects ' boucle pour supprimer
ancienne image
If ShapeObj.Name = "cible1" Then
RemovePicture = MsgBox("cette action supprimera la photo existante." &
Chr(13) & "voulez vous continuer ?", vbYesNo, "Delete before Inserting")
'
If RemovePicture = vbYes Then
ActiveSheet.Shapes("cible1").Delete
Exit For
Else
Exit Sub
End If

End If
Next
'position photo 1
Range("I4").Select

Application.Dialogs(xlDialogInsertPicture).Show
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Name = "cible1"
If Selection.ShapeRange.Height > Selection.ShapeRange.Width Then
Selection.ShapeRange.Height = 190
Else
Selection.ShapeRange.Width = 210
End If

--