Définir des dates en variables.

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

Re : Définir des dates en variables.

Bonjour Michel

pas sur que c'est ce que tu cherches... mais regardes peut être le code ci dessous :

Code:
Sub testdate()
Dim a As Date, b As Date
a = #5/1/2008#
b = #5/12/2008#
If Range("D6").Value >= a And Range("D6").Value <= b Then _
    MsgBox "dans la plage de date"
End Sub

bonne journée
@+
 
Re : Définir des dates en variables.

Bonjour,

une autre petite procedure :

Sub colorie()
Set pl = Cells(6, 4).CurrentRegion ' Plage des dates
For Each cel In pl
If (cel > Cells(1, 1) - 1 And cel < Cells(1, 2)) Or (cel > Cells(2, 1) - 1 And cel < Cells(2, 2)) Then
cel.Interior.Color = vbGreen
End If
Next
End Sub
 
Re : Définir des dates en variables.

Re
Petite modification dans le code precedente, elle ne couvarait pas toutes les dates :
Sub colorie()
Set pl = Cells(6, 4).CurrentRegion ' Plage des dates
pl.Select
For Each cel In pl
If (cel > Cells(1, 1) - 1 And cel < Cells(1, 2)) Or (cel > Cells(2, 1) - 1 And cel < Cells(2, 2)) Then
cel.Interior.Color = vbGreen
End If
Next
End Sub

Bonne journée ,
A+
Gilles
 
Re : Définir des dates en variables.

re,
un mauvais copie coller :
Sub colorie()
Set pl = Cells(6, 4).CurrentRegion ' Plage des dates

For Each cel In pl
If (cel >= Cells(1, 1) And cel <= Cells(1, 2)) Or (cel >= Cells(2, 1) And cel <= Cells(2, 2)) Then
cel.Interior.Color = vbGreen
End If
Next

End Sub

A+
 
Re : Définir des dates en variables.

Bonjour pierrot, Gil , le forum.

Merci pour vos 2 approches, Je les ai mis dans le fichier.

Mais, je voyais plutôt avec une sorte de tableau (chose que je ne maîtrise pas du tout), car il peut y avoir plusieurs lignes de dates.

Au lancement de la macro, on mettrait chaque date dans un tableau type tablo(i) qu'il suffirait de tester après sur chaque date. Le but étant que cela soit le plus automatique possible, quelque soit le nombre de lignes renseignées en Colonnes A et B.

Merci encore.
 

Pièces jointes

Dernière édition:
Re : Définir des dates en variables.

Re bonjour à tous,

Après quelques tests voila ce que j'ai trouvé par rapport au code de Pierrot

Code:
Sub testdate()
'Pierrot93 modif Mj pour [URL]https://www.excel-downloads.com/threads/definir-des-dates-en-variables.94058/[/URL]
Dim a(100) As Date, b(100) As Date
'a = #5/1/2008#
'b = #5/12/2008#
For i = 1 To Range("a65536").End(xlUp).Row
a(i) = Range("a" & i).Value
b(i) = Range("b" & i).Value
Next i
adr = ActiveCell.Address
'If Range("D6").Value >= a And Range("D6").Value <= b Then _
    MsgBox "dans la plage de date" else "PAs dans la plage"
    For i = 1 To Range("a65536").End(xlUp).Row
'    Stop
 'If Range(adr).Value >= a(i) And Range(adr).Value <= b(i) Then MsgBox "dans la plage de date" Else MsgBox "PAs dans la plage"
 If Range(adr).Value >= a(i) And Range(adr).Value <= b(i) Then ActiveCell.Interior.Color = vbGreen ' Else cel.Interior.Color = vbRed
Next i
End Sub

Je chercherai plus tard pour celui de Gil
 
Re : Définir des dates en variables.

Re

si tu veux passer par un tableau, peut être comme ceci, a voir :

Code:
Sub test()
Dim t() As Date, i As Integer, d As Date, c As Range, coul() As Variant
ReDim t(0 To Range("A65536").End(xlUp).Row - 1, 0 To 1)
For i = 0 To Range("A65536").End(xlUp).Row - 1
    t(i, 0) = Range("A" & i + 1).Value
    t(i, 1) = Range("B" & i + 1).Value
Next i
coul = Array(3, 11, 6)
For i = 0 To Range("A65536").End(xlUp).Row - 1
    For d = t(i, 0) To t(i, 1)
        For Each c In Range("D6:G36")
            If c = d Then c.Interior.ColorIndex = coul(i): Exit For
        Next c
    Next d
Next i
End Sub

bon après midi
@+
 
Re : Définir des dates en variables.

Re bonjour à tous.

Un grand merci à Pierrot93 et Gil79.

Grâce à vous, j'ai bien avancé dans ma problèmatique.

Voici le fichier avec vos codes que j'ai un peu adapté.

J'ai l'impression que c'est comme cela qu'on apprend plus vite.
 

Pièces jointes

- 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
3
Affichages
215
Réponses
7
Affichages
199
Réponses
16
Affichages
591
Réponses
8
Affichages
300
Réponses
7
Affichages
285
  • Question Question
Microsoft 365 Suivi charge/capa
Réponses
10
Affichages
350
Retour