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

XL 2010 Résolu par mutzik : stopper exécution code en fermant listbox par la croix

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous et bon dimanche,

J'ai un nouveau souci que je n'arrive pas à résoudre malgré mes recherches et tentatives.

Dans mon fichier de travail, j'ai maintenant grâce à vous une listbox.

J'ouvre cette listbox dans une longue macro qui a de beaucoup de conditions.

mais quand je la ferme, l'exécution de la macro continue et j'ai besoin qu'elle soit stoppée
voici une petite partie de ma macro :
Code:
If Not Intersect(R, Range("p7:p20000")) Is Nothing And R.Count = 1 Then _

    If R.Offset(0, -4) = "Répondeur" Or R.Offset(0, -4) = "SMS" Then
    Exit Sub
    End If

    Application.EnableEvents = False
    Application.ScreenUpdating = False
    PratiqueSuivisAppels02.Show

    BLOCAGE ET SORTIE DU CODE ICI SI FERMETURE PAR LA CROIX

    If R.Value = "" Then
    R.Offset(0, -4).Select
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Exit Sub
    End If

    If R.Value = "Voir commentaires Rappel OK RdV" Then
     ActiveSheet.Unprotect Password:=""
     R.Offset(0, 6) = ""
     R.Offset(0, 5) = ""
     R.Offset(0, 4) = ""
     R.Select
     ActiveCell.Offset(0, 3) = ActiveCell.Offset(0, 3) & " - " & Format(Date, "dd/mm/yy") & " " & "Rappel OK RDV "
     R.Offset(0, 3).Select
     ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
     ActiveSheet.EnableSelection = xlNoRestrictions
        Application.EnableEvents = True
        Application.ScreenUpdating = True
        Exit Sub
    End If

     If R.Value = "Voir commentaires" Or R.Value = "Voir commentaires OK Rappel" Then
     ActiveSheet.Unprotect Password:=""
     R.Offset(0, 6) = ""
     R.Offset(0, 5) = ""
     R.Offset(0, 4) = ""
     R.Select
     ActiveCell.Offset(0, 3) = ActiveCell.Offset(0, 3) & " - " & Format(Date, "dd/mm/yy") & " "
     R.Offset(0, 3).Select
     ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
     ActiveSheet.EnableSelection = xlNoRestrictions
        Application.EnableEvents = True
        Application.ScreenUpdating = True
        Exit Sub
    End If

    R.Select
    If R.Value <> "Voir commentaires" Or R.Value = "Voir commentaires Rappel OK RdV" Or R.Value = "Voir commentaires OK Rappel" Or R.Value <> "RdV Fait" Then
    ActiveCell.Offset(0, 3) = ActiveCell.Offset(0, 3) & " - " & Format(Date, "dd/mm/yy") & " " & R
    ActiveSheet.Unprotect Password:=""
    R.Offset(0, 6) = ""
    R.Offset(0, 5) = ""
    R.Offset(0, 4) = ""
    End If
    
    If R = "Répondeur" Or R = "SMS" Then
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Exit Sub
    End If

J'ai essayé dans le code avec condition ainsi que dans le code de la listbox mais sans résultat.

Auriez-vous la solution ?
Avec mes remerciements,
Amicalement,
Lionel,
 
Bonjour Lionel 🙂


Application.EnableEvents = False et Application.ScreenUpdating = False sont à mettre après les déclarations des variables. En Mode True avant End Sub. Toi t'en a mis partout, les lignes en trops faut les supprimer. Depuis le temps, tu devrais le savoir non?! 🙄

À essaier, mais sans conviction. If PratiqueSuivisAppels02.ListBox1.List <> "" Then End
 
Bonjour Lone,

je sais que j'en mets partout des Application.EnableEvents = False et True. ceux qui sont avant les exit sub me sont indispensables.
Pour les autres, quand j'aurai fini mon super classeur, je les nettoyerai LOL

J'ai tenté ton code mais ça ne marche pas.
merci d'être encore là Lone 😉
Amicalement,
Lionel,
 
bonjour

utilise une variable public dans laquelle tu mets ton mode de fermeture de ton userform (closemode)
au retour dans ta macro principale, tu testes cette variable et en fonction de, tu fais ...
 
Bonjour Bertrand,
Bonjour à toutes et à tous,

Un petit souci de santé me 'cloue' et m'empêche d'être opérationnel.
Je ne suis pas en mesure donner suite à mon fil.
J'espère pouvoir être en forme ce WE.
Bonne journée à toutes et à tous,
Amicalement,
Lionel,
 
Bonjour Bertrand, Le Forum,

Je vais un peu mieux et je peux te répondre.
J'ai étudié ta proposition et modifié mon gros fichier.
Grâce à toi, j'ai pu solutionner mon souci et c'est génial pour moi.
Je t'en remercie.
Amicalement,
Lionel,
 
- 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
5
Affichages
244
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…