recherche d'un jour dans une date

chelsea

XLDnaute Nouveau
bonjour à tous

j'ai des dates qui se situent de F2 à IV2 et je voudrais rechercher toutes les dates qui correspondent au samedi

j'ai essayé quelque chose comme ça

Code:
For Each cel In Range("F2:IV2")
            datejour = cel.Value
            If datejour.Day = sam Then
                col = ActiveCell.Column
                Range(Cells(ligne, col), Cells(ligne + 13, col + 1)).Select
                Selection.Interior.ColorIndex = 39
            End If
            
        Next cel


mais ça me fais une erreur:confused:

pourriez-vous m'aider svp
 

Pierrot93

XLDnaute Barbatruc
Re : recherche d'un jour dans une date

Bonjour Chelsea

Peut être avec le code ci dessous :

Code:
Sub test()
Dim cel As Range
For Each cel In Range("F2:IV2")
If IsDate(cel.Value) Then _
    If Weekday(cel.Value, 2) = 6 Then cel.Interior.ColorIndex = 39
Next cel
End Sub

bon après midi
@+

Aarf Gael, bonjour, pas raffraichi...trop rapide pour moi.
 

dg62

XLDnaute Barbatruc
Re : recherche d'un jour dans une date

Bonjour


Gael a raison ! le VBmonday indique que la semaine commence le Lundi. Samedi est donc le 6e jour de la semaine. Contrairement au US ou le premier jour de la semaine est le dimanche.

Code:
Sub samedi()
Dim datejour As Date
Dim cel As Range
For Each cel In Range("F2:IV2")
            
            datejour = cel.Value
            
            If Weekday(datejour, vbMonday) = 6 Then
                
                cel.Interior.ColorIndex = 39 
                
            End If
            
Next cel
End Sub
Bonne journée
 
Dernière édition:

Gael

XLDnaute Barbatruc
Re : recherche d'un jour dans une date

Bonjour Pierrot, Chelsea,

Le deuxième paramètre insique le jour de début de la semaine. si tu mets vbmonday, Lundi sera 1, mardi 2 ...; si tu mets vbsaturday, samedi sera 1...

Tu peux aussi mettre un chiffre au lieu du Vbmonday... comme dans l'exemple de Pierrot: 1 pour dimanche, 2 Lundi... et 7 pour samedi.

C'est juste le chiffre de la comparaison qui sera différent.


@+

Gael

Et bonjour DG62, je ne t'avais pas vu.

Gael
 
Dernière édition:

chelsea

XLDnaute Nouveau
Re : recherche d'un jour dans une date

merci à tous pour votre aide et vos explications

le code donne ça

Code:
For Each cel In Range("F2:IV2")
        cel.Select
            If Weekday(cel.Value, vbMonday) = 6 Then
                col = ActiveCell.Column
                Range(Cells(ligne, col), Cells(ligne + 13, col + 1)).Select
                Selection.Interior.ColorIndex = 39
            End If
            
        Next

j'apprend beaucoup gràce à vous ;)
 

Gael

XLDnaute Barbatruc
Re : recherche d'un jour dans une date

Re,

Tu peux même supprimer les ".select" en écrivant:

Code:
[LEFT]For Each cel In Range("F2:IV2")
           If Weekday(cel.Value, vbMonday) = 6 Then
               col = Cel.Column
               Range(Cells(ligne, col), Cells(ligne + 13, col +1)).Interior.ColorIndex = 39
           End If[/LEFT]
 
[LEFT]       Next[/LEFT]

@+

Gael
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas