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

Macro évènementielle

  • Initiateur de la discussion Initiateur de la discussion Jouxte
  • Date de début Date de début

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 !

Jouxte

XLDnaute Occasionnel
Bonjour à tous,

Je relance une demande pour obtenir de l'aide sur ce sujet.

Dans une feuille de calcul, à la construction, j’ai coloré toutes les cellules contenant une formule.

J’aurais souhaité qu’une macro évènementielle me retire le coloriage intérieur de la cellule si la formule est modifiée pour une valeur (nombre ou texte).

J'utilise aujourd'hui une MFC mais comme le tableau est très gros et le temps de calcul est très long.

Et enfin est-il possible et comment faudrait-il modifier cette macro pour que dans une autre feuille elles ne s’applique qu’à une zone nommée « Zone_A » ou a plusieurs zones nommées « Zone_B »et « Zone_C »?

Merci à tous pour votre aide.
 
Re : Macro évènementielle

bonjour jouxte

ce type de code, applique la couleur rouge si la cellule est une formule, sinon colore en blanc :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    .Interior.ColorIndex = IIf(.HasFormula, 3, -4142)
End With
End Sub
a placer dans le module de la feuille concernée.

pour faire varier la plage suivant la feuille, il me semble que le plus simple est de passer par le module thisworkbook et de tester sur quelle feuille nous sommes, exemple

en feuille 1 une plage nommée ZoneA
en feuille 2 une plage nommée ZoneB

le code :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim plage As Range

Select Case Sh.Name
    Case "Feuil1": Set plage = Feuil1.Range("ZoneA")
    Case "Feuil2": Set plage = Feuil2.Range("ZoneB")
End Select

If Not Intersect(Target, plage) Is Nothing Then
    With Target
        .Interior.ColorIndex = IIf(.HasFormula, 3, -4142)
    End With
End If
End Sub
a placer dans le module thisworkbook, et a adapter à ton cas.

salut
 
- 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

D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Réponses
4
Affichages
586
  • Question Question
Microsoft 365 macro vba sumifs
Réponses
5
Affichages
750
S
Réponses
2
Affichages
1 K
T
Réponses
5
Affichages
1 K
Thomexcel
T
G
  • Question Question
Réponses
1
Affichages
666
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…