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

arthour973

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,
 

Lone-wolf

XLDnaute Barbatruc
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?! :rolleyes:

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

arthour973

XLDnaute Barbatruc
Supporter XLD
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,
 

Lone-wolf

XLDnaute Barbatruc
Re

Ces lignes doivent être mises 1 seule fois et non 10, celles qui sont entre sont inutiles et non aucun sens.
 

mutzik

XLDnaute Barbatruc
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 ...
 

mutzik

XLDnaute Barbatruc
re,

closemode = 0 si fermeture par croix et 1 si fermeture par un bouton avec le code
unload me
 

arthour973

XLDnaute Barbatruc
Supporter XLD
Bonjour Bertrand,

Un grand merci pour m'avoir répondu.

Petit hic LOL.
Je ne sais pas faire ce que tu me conseilles :confused:
Voudrais-tu me guider ?
Amicalement,
Lionel,
 

arthour973

XLDnaute Barbatruc
Supporter XLD
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,
 

arthour973

XLDnaute Barbatruc
Supporter XLD
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,
 

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