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

Varible date dans formule

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 !

GADENSEB

XLDnaute Impliqué
Hello le forum
Je cherche à inclure une variable date dans une formule SI

Ma formule actuelle est :

Code:
.Range("K2:K" & .Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = _
        "=IF(RC2>R1C21,""OUI"",""NON"")"

et elle marche nikel


Par contre quand j’essaye de passer par une variable cela ne fonctionne pas


Tb_D_TODAY étant une plage nommée centrale pour tout mon fichier qui indique la date du jour

Code:
Dim DateDuJour As Date
.......
DateDuJour = Range("Tb_D_TODAY").Value
........
       
.Range("K2:K" & .Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = _
        "=IF(RC2>" & DateDuJour & ",""OUI"",""NON"")"

........
là ou devrait apparaître "NON" je n'ai que des "OUI"

qqn aurait une idée ?

Bonne am

Seb
 
Re : Varible date dans formule

Bonjour.
Si vous ne pouvez pas mettre "=IF(RC2>Tb_D_TODAY,""OUI"",""NON"")"
essayez "=IF(RC2>" & CLng(DateDuJour) & ",""OUI"",""NON"")"
parce que c'est sûr que la colonne B sera souvent supérieure au jour divisé par le mois, divisé par l'année !
 
Dernière édition:
Re : Varible date dans formule

Le format de cellule exprimant la façon dont devrait être affichée sa valeur si elle était une date ne donne absolument pas la moindre information sur la nature exacte de la donnée qui y est réellement enregistrée.

Vous pouvez utiliser cette fonction perso dans les classeurs en cours d'élaboration pour savoir ce qui est enregistré dans une cellule :
VB:
Function TypeDon(ByVal Cel As Range) As String
TypeDon = TypeName(Cel.Value)
End Function
 
Dernière édition:
Re : Variable date dans formule

Désolé, je répond en décalé

effectivement il doit y avoir un soucis sur les dates

car dans une autre formule pour obtenir l'année avec

Code:
    .Range("C2:C" & .Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = _
        "=YEAR(RC1)"
J'obtiens pour 15/10/2015 l'année 1899 ..... !!!


Sachant que je valide mes dates avec

Code:
    .Range("B2:B" & .Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "dd/mm/yyyy" 'OK  ---- Choix du format des dates



Mes données viennent toutes d'un USF de saisie
Le format date est valide dans l'userfomr avec
Code:
DATESAISIE.Value = Format(DATESAISIE, "dd/mm/yyyy") 'OK  ---- Remplit le TextBox DATESAISIE par la date du jour

Et au transfert des données dans la feuille excel le textbox de date est convertir
Code:
If IsDate(c.Value) Then
                Feuil3.Cells(LastLigne, x).Value = CDate(c.Value)


Tu vois qqc de bizarre ?


Je connais pas ta fonction je vais la tester !


Bonne Journée

Seb
 
- 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
5
Affichages
836
  • Question Question
Microsoft 365 problème date
Réponses
7
Affichages
713
I
Réponses
5
Affichages
856
Réponses
4
Affichages
852
Réponses
11
Affichages
678
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…