Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Exit Sub ne fonctionne pas

David590

XLDnaute Occasionnel
Bonjour à tous,

J'essai de modifier un code en ajoutant un "Exit Sub" à une condition pour arrêter la procédure, mais le code qui est après s’exécute quand même
Bizarrement, quand je retire Target.ClearContents, là Exit Sub fonctionne

Je tourne en bourrique depuis un moment maintenant, je m'adresse donc aux experts, lol, qu'en dite vous?


Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Column = 3 Then
If Target <> "" Then
Sheets("Total TR").Columns(3).Copy Range("IV1")
Set C = Cells.Find(What:=Target.Text, LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing And C.Address = Target.Address Then Set C = Cells.FindNext(C)
If C.Address <> Target.Address Then

If C.Column = 256 Then
MsgBox "invalide, Double Total TR! C" & C.Row: Target.ClearContents
Exit Sub
Else
MsgBox "invalide, Double " & C.Address(0, 0): Target.ClearContents
Exit Sub
End If

End If
End If

' ce code s’exécute quand même
Range("A1") = "test"
 

Pierrot93

XLDnaute Barbatruc
Re : Exit Sub ne fonctionne pas

Bonjour,

peut être avec ceci :
Code:
Application.EnableEvents = False
'ton code
Application.EnableEvents = True

difficile d'en dire plus juste avec un bout de code jeté sur un post...

bonne journée
@+
 

Modeste geedee

XLDnaute Barbatruc
Re : Exit Sub ne fonctionne pas

Bonsour®
sans analyse de l'algorithme ,
uniquement enutilisant l'indentation

quand les IF...Then ... End If ne sont pas apairrés VBA aussi tourne en bourrique ...


Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Column = 3 Then
If Target <> "" Then​
Sheets("Total TR").Columns(3).Copy Range("IV1")
Set C = Cells.Find(What:=Target.Text, LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing And C.Address = Target.Address Then Set C = Cells.FindNext(C)
If C.Address <> Target.Address Then​
If C.Column = 256 Then​
MsgBox "invalide, Double Total TR! C" & C.Row: Target.ClearContents
Exit Sub​
Else​
MsgBox "invalide, Double " & C.Address(0, 0): Target.ClearContents
Exit Sub​
END IF (manquant)
End If​

End If​
End If
 

David590

XLDnaute Occasionnel
Re : Exit Sub ne fonctionne pas

Bonjour Pierrot93,

J'avais pensé faire un fichier mais il y a vraiment pas mal de chose a rajouter autour pour qu'il fonctionne, et mon fichier complet est un peu trop volumineux

Mais ton code fonctionne parfaitement, si je comprend bien, c'est des macros évènementielles qui bloque le Exit Sub??

Grand merci à toi
 

Abel

XLDnaute Accro
Re : Exit Sub ne fonctionne pas

Bonjour le fil, le forum,

Autre piste, est-ce que le code est déclenché par un événement "change" ?

Si c'est le cas, l'action clearcontent relance l'événement.

Abel.

Edit : oups ! Modeste, David, pas rafraichi.
 

David590

XLDnaute Occasionnel
Re : Exit Sub ne fonctionne pas

Bonjour, Modeste geedee

Effectivement c'est plus claire présenté comme ça,
Je suis vraiment novice, j'en apprend tous les jours grâce à vous, je ferais attention à bien appairé les If... avec les End If ...
 

David590

XLDnaute Occasionnel
Re : Exit Sub ne fonctionne pas

Bonjour Abel,

Ah oui, il est déclenché en "change", et effectivement le clearcontent relance donc l’évènement, tu as tout a fait raison
Voila le pourquoi du comment, lol
C'est donc pour ça que le fait d’exécuter le code de Pierrot93 stoppe l’évènement "Change"

Je me coucherai encore un peu moins bête ce soir
 

Discussions similaires

Réponses
4
Affichages
332
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…