• Initiateur de la discussion Initiateur de la discussion pad01
  • 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 !

pad01

XLDnaute Occasionnel
Bonsoir le Forum,
Je cherche un code VBA pour tester une colonne afin d'identifier :
Si les cellule qui ne sont pas au format date
et les cellules d'un mois/année indiqué.
J'ai pensé de mettre une couleur dans les cellules pour celles n'étant pas en format date et une autre celles n'étant pas du mois/année indiqué.
Merci
 

Pièces jointes

Re : Vérifier Date

Salut,
Voici ce que je te propose :
Code:
Sub TestDate()
Dim rg As Range
Dim bValid As Boolean

'on commence au début de la liste de date
Set rg = ActiveSheet.Range("A2")

bValid = True          'vrai par défaut, date format  valide
Do Until IsEmpty(rg)    'on suppose qu'il n'y a pas de lignes vides
    
    'vérifier si c'est une date valide ou non
    If Not IsDate(rg) Then
        rg.Interior.ColorIndex = 3  'en rouge
        bValid = False  'on met à faux
    End If
    
    'vérifier si la date ne correspond pas au mois
    On Error Resume Next
    If bValid Then  'si format date valide alors
        If Month(rg) <> ActiveSheet.Range("D2") And _
            Year(rg) <> ActiveSheet.Range("E2") Then
            rg.Interior.ColorIndex = 6  'en jaune
        End If
    End If

    bValid = True
    Set rg = rg.Offset(1, 0)
Loop

End Sub
 
Re : Vérifier Date

Bonjour pad01,

Peut-être

Code:
Sub VerifDate()
    Range("A1").EntireColumn.Interior.ColorIndex = xlColorIndexNone
    For i = 2 To Range("A65536").End(xlUp).Row
        If Not IsDate(Range("A" & i).Value) Then
            Range("A" & i).Interior.ColorIndex = 3
        ElseIf LCase(Range("D2").Value) <> LCase(Format(Range("A" & i).Value, "MMMM")) Or _
                Year(Range("A" & i).Value) <> Range("E2").Value Then
            Range("A" & i).Interior.ColorIndex = 36
        End If
    Next i
End Sub

Edit : Bonjour Ô Grand Shaman, bienvenue sur XLD 😎
 
Dernière édition:
Re : Vérifier Date

Salut pad01 et le forum
Une proposition. Mais j'ai été obligé d'apporter quelques modifications :
Le mois et la date sont issus de la cellule B1, pas entrés manuellement : trop de risque que le nom d'un mois ne soit pas reconnu par excel.
A+
 

Pièces jointes

Re : Vérifier Date

Bonsoir Le Forum, Grand Chaman Excel, tototiti2008 et Garfael,
Je vous remercie tous les trois pour les réponses apportées. Elles correspond à ma demande et cela va m'être très utile.
Encore un grand Merci
 
- 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
6
Affichages
641
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
420
Réponses
1
Affichages
394
Réponses
10
Affichages
410
Retour