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

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,
 

Pierrot93

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

Discussions similaires

Réponses
0
Affichages
83
Réponses
7
Affichages
292
Réponses
5
Affichages
322

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40