gérer l'erreur 438

Le
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

--
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #18420511
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"
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

--
plex
Le #18420811
OK, c'est tout bon

Merci pour le coup de main

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

--



Publicité
Poster une réponse
Anonyme