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

Désactiver une macro pendant l'exécution d'autres macros

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 à tous,

Tjrs aussi nul en VBA mais quand même, je "frémis" grâce à vous, je fais à nouveau un appel à l'aide.

J'ai dans mon classeur une macro reçu de Bernard (BBB38) à qui j’adresse encore un grand merci.
Cette macro me met automatiquement les lignes en rouges quand je saisi des sommes qui, additionnées, donne un résultat supérieur à 0.5 dans les colonnes choisies :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim i As Integer
' à modifier suivant le nbre de lignes du tableau
For i = 4 To 43

If Cells(i, 300) > 0.5 Then 'n°Col
Range("KC" & i & ":KN" & i).Font.Color = -16776961 'couleur souhaitée
Selection.Font.Bold = True

Else
Range("KC" & i & ":KN" & i).Font.ColorIndex = xlAutomatic 'couleur si NON
End If

If Cells(i, 288) > 0.5 Then 'n°Col
Range("JQ" & i & ":KB" & i).Font.Color = -16776961 'couleur souhaitée
Selection.Font.Bold = True

Else
Range("JQ" & i & ":KB" & i).Font.ColorIndex = xlAutomatic 'couleur si NON
End If

If Cells(i, 276) > 0.5 Then 'n°Col
Range("JE" & i & ":JP" & i).Font.Color = -16776961 'couleur souhaitée
Selection.Font.Bold = True

Else
Range("JE" & i & ":JP" & i).Font.ColorIndex = xlAutomatic 'couleur si NON
End If

etc..... End sub

Mais voilà, le revers de la chose est que cette macro qui déprotège la feuille concernée et qui la protège à la fin me pose un problème d’exécution des autres macros.

Connaissez-vous une solution pour la désactiver pendant l’exécution des autres macros ?

J’ai cherché sur le net et j’ai trouvé le code suivant. Malgré mon niveau supérieur en VBA, je ne comprends pas tout !!! :

Code Visual Basic :
Sub rafraichir()
Application.EnableEvents = False
'ici ton code
Application.EnableEvents = True
End Sub

Je mets quel code ('ici ton code) ?
Je pense que je dois mettre cette macro dans le module général et l’activer (False) avec Call rafraichir
Et pareil pour la désactiver ?


Un grand merci pour votre aide,
Amicalement,
Lionel,
 
Re : Désactiver une macro pendant l'exécution d'autres macros

Bonjour Pierrot,
Bonjour à tous,

Merci pour cette réponse si rapide.

Je vais certainement te sembler ...... mais "'ton code", je mets koi ?
Lionel,
 
Re : Désactiver une macro pendant l'exécution d'autres macros

Re,

Connaissez-vous une solution pour la désactiver pendant l’exécution des autres macros ?

bah tu disais que c'était pour la désactiver la :
Private Sub Worksheet_Change(ByVal Target As Range)
donc à utiliser sur les premières lignesdes autres macros... enfin si j'ai bien compris....
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
483
Réponses
4
Affichages
180
Réponses
3
Affichages
665
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…