Comparer des dates dans des colonnes differentes

Bonjour,

Sub Macro22()
'
' Macro22 Macro
' compa date
'

'
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=MOIS.DECALER($K26;0)>=M$26"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

j'ai fait une comparaison de date sur la cellule K26 et M26. Si K26 est supérieur à M26 alors cellule en rouge (Erreur).

Comment appliquer cette formule sur toutes la colonne K et M?

C'est à dire K1 comparer avec M1, K2 comparer avec M2, K3 comparer avec M3 jusqu'à 160

Bonjour Fel

1) Remplacer "Selection" par Range("K1:K160")
De plus quand "Selection" se répète, mieux vaut utiliser "With ObjetConteneur"... "End With"

https://docs.microsoft.com/fr-fr/dotnet/visual-basic/language-reference/statements/with-end-with-sta...

2) Supprimer le "$" devant la ligne et remplacer le numéro de ligne "=MOIS.DECALER($K26;0)>=M$26" devient "=MOIS.DECALER($K1;0)>=M1"

Voilà

Sub Macro22()
'
' Macro22 Macro
' compa date
'

'
    Range("K1:K160").FormatConditions.Add Type:=xlExpression, Formula1:=
        "=MOIS.DECALER($K1;0)>=M1"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With ObjetConteneur
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

Comme ceci?

Re,

Je pense oui, avez vous testé !?

Oui cela me fait une erreur de syntaxe au niveau de la ligne suivante :

Range("K1:K160").FormatConditions.Add Type:=xlExpression, Formula1:=

Bonjour Fel

Normal que vous ayez un problème

Pour commencer vous n'avez rien compris à ce que je vous ai dis
ensuite en VBA un retour à la ligne d'une instruction est toujours précédé d'un underscore

Voici le code correcte

' Explication Objet Conteneur
Sub ExplicationMFC()
  ' Avec L'objet feuille active
  With ActiveSheet
    ' Avec l'objet plage de l'objet précédent (ne pas oublier le point)
    With .Range("K1:K160")
      ' Avec l'objet MFC de l'objet précédent (ne pas oublier le point)
      .FormatConditions.Add Type:=xlExpression, Formula1:="=MOIS.DECALER($K1;0)>=M1"
      ' Avec la condition 1 de l'objet précédent (plage)
      With .FormatConditions(1)
        With .Interior
          .PatternColorIndex = xlAutomatic
          .Color = 255
          .TintAndShade = 0
        End With
        .SetFirstPriority
        .StopIfTrue = False
      End With
    End With
  End With
End Sub

Un peu de lecture : https://www.excel-pratique.com/fr/vba

A+

Bonjour Bruno,

J'ai travailler sur ton code pour qu'il fonctionne dans mon fichier mais rien n'y fait je ne sais pas pourquoi ça ne marche pas. Si tu peux jeter un oeil sur mon fichier stp.

Re,

La Sub placée ou elle est placée, ça me semble assez logique

A+

Bonjour à tous !

Dis voir Fel, vrai question, ils n'embauchent pas des développeurs chez XXX ?

Le courant semble mal passer entre vous... non ?

(Ok... je sors.....)

JFL... franchement trop facile celle là

Bonjour de nouveau !

JFL... franchement trop facile celle là

Vous avez absolument raison. J'ai honte...

Bonjour Fel,

Pour revenir un peu sur le sujet est arrêter les bêtises

Vous aves mis la Sub que je vous avais donné, comme ça pêlemêle dans votre USF... mais aucun bouton ne l'appelle

Donc comment voulez-vous que ça fonctionne !?

A+

Rechercher des sujets similaires à "comparer dates colonnes differentes"