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

XL 2016 Résolu- problème sur macro

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 !

crown54

XLDnaute Junior
Bonsoir,
j'ai un petit souci dans ce fichier qui je l'espère sera réglé par vos connaissances et compétences car là je bloque.
J'ai créé sous excel 2016 un fichier en 2018 avec la maintenance d'automates. Maintenance prévisionnelle de l'année et une fois qu'elle est faite, je rentre la date dans la colonne M et la date en rouge dans la colonne L passe en vert automatiquement pour indiquer qu'elle est faite, ce qui permet de repérer facilement les maintenances qui n'ont pas encore été faites.
La macro à fonctionner sans souci en 2018. Pour 2019 j'ai inséré de nouvelles colonnes et tenté de modifier la macro mais ça ne fonctionne plus. Pouvez-vous me dire ce qui cloche svp?
D'avance merci pour vos réponses.
 

Pièces jointes

euh.. es tu sur d'avoir posté le bon fichier? le code présent semble
1) incomplèt
2) pas dans la bonne feuille (donc aucune chance qu'il se déclenche

et ce code "corrigé" ne semble que colorer en vert la colonne L si la colonne N est vide...N ne semblant pas appartenir à ton tableau
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim ligne As Byte, colonne As Byte
Application.EnableEvents = False
With ActiveSheet
    Fin = .Range("L" & .Rows.Count).End(xlUp).Row
    If Not Application.Intersect(Target, Range("M2:M" & Fin)) Is Nothing Then
   
        If Target.Offset(0, 1) = "" Then
            Target.Offset(0, -1).Font.ColorIndex = 4
        End If
    End If
   
End With
Application.EnableEvents = True
End Sub
 
oui je suis parti du fichier qui fonctionnait en 2018 et juste modifié les colonnes.
C'est pas ce code qui fait ce que je veux dans This Workbook

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ligne As Byte, colonne As Byte


If Not Application.Intersect(Target, Range("M02:M142")) Is Nothing Then
ligne = ActiveCell.Row
colonne = ActiveCell.Column
If Cells(ligne, colonne + 1) = "" Then
With ActiveCell.Offset(0, -1)
.Font.ColorIndex = 4
End With
End If
 
c'est bien ce que je disais:
ton code que tu viens de reposter est incomplet.. il manque au moins le "End Sub"
et ce qu'il fait c'est:
si tu cliques dans M2:M142
si en colonne N c'est vide. alors, met vert en colonne L
 
dans ton nouveau fichier.
aucune des deux macros
ChangeCouleur définie dans le code de la feuille plutot que dans un module standard
NI
la macro évènementielle incomplète définie par erreur dans le thisworkbook
ne sont lancées.
ce qui colore en vert ta colonne J, c'est une MFC (Mise en Forme Conditionnelle)
 
effectivement tu as raison j'étais persuadé que les macros étaient responsables de cela. Merci d'avoir pris de temps pour me répondre.
Autre question, est-ce possible depuis la colonne de maintenance prévisionnelle de générer un rendez-vous outlook avec rappels pour ne pas la zapper
 
- 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

Réponses
23
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…