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

Macro ajout d'un fichier - Plantage si appuie sur ANNULER

2 réponses
Avatar
Alex
Bonjour Í  tous,

J'ai un fichier Excel avec macro, dans lequel j'ai ajouté un processus de mail automatique avec ajout de pièce jointe. L'ajout de pièce jointe se fait depuis un Userform en cliquant sur un bouton permettant de sélectionner un document . Tout fonctionne très bien si l'utilisateur ajoute bien une pièce jointe, mais si depuis la fenêtre "explorateur", choix du ficher Í  joindre et qu'il appuie sur le bouton "annuler" la macro plante. j'aimerai ajouter un mode sans echec afin de résoudre ce problème.
Voici ce que j'ai en code :

Private Sub BtnRIB_Click()

Nomf = Application.GetOpenFilename("all files(*.*),*.*")
PJRIB.Value = Nomf
NF1 = PJRIB

If Me.PJRIB <> "" Then
Sheets("RIB").Select
Range("A1").Select
' CA BEUG SUR LA LIGNE CI-DESSOUS SI APPUIE SUR ANNULER
ActiveSheet.OLEObjects.Add(Filename:=PJRIB.Value, _
Link:=False, DisplayAsIcon:=True, IconFileName:= _
PJRIB.Value, _
IconIndex:=0, IconLabel:=PJRIB.Value).Select

End If
Sheets("FICHE").Select

If Me.PJRIB.Value <> "" And Me.PJKBIS.Value <> "" Then
Me.BtnValidation.Enabled = True
End If

End Sub


Merci par avance de votre aide pour résoudre ce problème.


Bonne journée

2 réponses

Avatar
Michel__D
Bonjour,
Le 14/06/2021 Í  11:23, Alex a écrit :
Bonjour Í  tous,
J'ai un fichier Excel avec macro, dans lequel j'ai ajouté un processus de mail automatique avec ajout de pièce jointe. L'ajout de pièce jointe se fait depuis un Userform en cliquant sur un bouton permettant de sélectionner un document . Tout fonctionne très bien si l'utilisateur ajoute bien une pièce jointe, mais si depuis la fenêtre "explorateur", choix du ficher Í  joindre et qu'il appuie sur le bouton "annuler" la macro plante. j'aimerai ajouter un mode sans echec afin de résoudre ce problème.
Voici ce que j'ai en code :
Private Sub BtnRIB_Click()
Nomf = Application.GetOpenFilename("all files(*.*),*.*")
PJRIB.Value = Nomf
NF1 = PJRIB
If Me.PJRIB <> "" Then
Sheets("RIB").Select
Range("A1").Select
' CA BEUG SUR LA LIGNE CI-DESSOUS SI APPUIE SUR ANNULER
ActiveSheet.OLEObjects.Add(Filename:=PJRIB.Value, _
Link:ͺlse, DisplayAsIcon:=True, IconFileName:= _
PJRIB.Value, _
IconIndex:=0, IconLabel:=PJRIB.Value).Select
End If
Sheets("FICHE").Select
If Me.PJRIB.Value <> "" And Me.PJKBIS.Value <> "" Then
Me.BtnValidation.Enabled = True
End If
End Sub
Merci par avance de votre aide pour résoudre ce problème.
Bonne journée

Voir l'aide sur l'événement On Error
Généralement pour passer une erreur provoqué par le code VBA on utilise On Error Resume Next.
Nota : si l'erreur n'est pas produite au niveau du code VBA cela n'aura aucun effet.
Avatar
Alex
Merci Michel. Ca fonctionne. Merci beaucoup. Bonne journée