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"
 

Modeste geedee

XLDnaute Barbatruc
Re : Exit Sub ne fonctionne pas

Bonsour®
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?

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

:rolleyes: 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 :cool:
 

Statistiques des forums

Discussions
312 891
Messages
2 093 354
Membres
105 698
dernier inscrit
ALAIN37250