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

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,
 

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
 

Usine à gaz

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,
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof