XL 2016 Annuler une commande si erreur

HelloDy

XLDnaute Junior
Bonjour à tous,

J'ai une macro qui recherche un texte à effacer :

Cells.Find(What:="texte recherché").Activate
Selection.Clear

Si le texte n'est pas trouvé j'obtiens un message d'erreur.
Comment faire pour que dans ce cas, la macro aille directement à End Sub au lieu de planter ?

Merci d'avance !


Elo
 

Calvus

XLDnaute Barbatruc
Bonjour,

VB:
Sub Recherche()
Dim marecherche As String, recherche As Range


On Error GoTo fin
Set recherche = Cells.Find(What:="texte recherché") 

If Not recherche Is Nothing Then

Cells.Find(What:=recherche, After:=ActiveCell, LookIn:= _
        xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False).Activate

Do Until MsgBox("Continuer ?", vbYesNo) = vbNo
    Cells.FindNext(After:=ActiveCell).Activate
Loop

Application.CutCopyMode = False
fin: If recherche Is Nothing Then
MsgBox "Donnée inexistante"
Exit Sub
End If
Application.CutCopyMode = False
End Sub
Quelque chose dans ce genre là, car sans exemple dur d'être précis.

A+
 

HelloDy

XLDnaute Junior
Coucou @Lika0n , coucou @Calvus,

Merci pour le lien mais quand je lis ce genre d'"aide" je ne comprends jamais rien :(

Et merci pour ta solution @Calvus mais c'est beaaaaucoup trop compliqué ^^ j'ai juste besoin que s'il ne trouve pas le texte correspondant il fasse end sub, rien de plus. Est-ce qu'il y a un moyen simple en 2 ou 3 lignes ?

Merci et désolée d'être jamais contente :p


Elo
 

Ikito

XLDnaute Occasionnel
Bonjour HelloDy :

Sinon, tu peux faire ce genre de chose :

VB:
On Error GoTo fin:

Cells.Find(What:="texte recherché").Activate
Selection.Clear

'[La suite de ton exécution]'

Exit Sub

fin:
End Sub
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas