Exit Sub ne fonctionne pas

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

🙄 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
 
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 🙂
 
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.
 
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 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
411
Réponses
15
Affichages
775
Retour