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

Condition sur Format(Now(), "dd-mm-yyyy")

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 !

mikael2235

XLDnaute Occasionnel
Bonjour à tous,

Bref descriptif, j’ai fais une macro, qui est utilisée plusieurs fois par jour, c’est à dire à chaque moulage de pièces. L’opérateur utilise la macro une heure après l’heure de prélèvement. Dans un UserForm, il indique en Text Box1 l’heure de prélèvement, et en TextBox2 les minutes.

A la fin d’une macro, j’enregistre, 2 onglets, dans un autre fichier avec comme nom de fichier, une partie fixe, et ensuite la date + heure de prélèvement par
Code:
« dd-mm-yy » & "-" & UF_BoitC_C216.TextBox1.Value & "-" & UF_BoitC_C216.TextBox2.Value.

Code:
    ActiveWorkbook.SaveAs FileName:= _
        chemin_sauvegarde_rapport & "3D_BoitC_C216____" & Format(Now(), "dd-mm-yyyy") & "-" & UF_BoitC_C216.TextBox1.Value & "-" & UF_BoitC_C216.TextBox2.Value & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False


« dd-mm-yy » me renvoie la date du jour. Or si le prélèvement a eu lieu à 23h10, l’utilisation de la macro va se faire à +1h, donc à 00h10, et la date sera celle du lendemain du prélèvement.

Je souhaiterais donc faire la condition suivante : SI TextBox1.Value = 23 ALORS la valeur dd-mm-yy doit être « dd-1 »-mm-yy.

Je ne vois pas comment le faire ici :
Code:
& Format(Now(), "dd-mm-yyyy")

Merci. Mikael
 
Re : Condition sur Format(Now(), "dd-mm-yyyy")

J'ai essayé ceci, mais ça ne fonctionne pas, il me met toujours la date du jour.

Code:
    If Val(TextBox1) = 23 Then
    datex = Format(Now() - 1, "dd-mm-yyyy") ' pour prendre le jour précèdent
    End If
    If Val(TextBox1) < 23 Then
    datex = Format(Now(), "dd-mm-yyyy") ' pour prendre le jour en cours
    End If
         
    ActiveWorkbook.SaveAs FileName:= _
        chemin_sauvegarde_rapport & "3D_BoitC_C216____" & datex & "-" & UF_BoitC_C216.TextBox1.Value & "-" & UF_BoitC_C216.TextBox2.Value & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    ActiveWindow.Close
 
Re : Condition sur Format(Now(), "dd-mm-yyyy")

Re

Vois le fichier ci-joint
mets en textbox successivement 22:30:00 puis 23:30:00 et clique sur le bouton apres chaque mis à jour
Si tu n'arrive pas adapter sur ton fichier poste une version epurée et on regardera
 

Pièces jointes

Re : Condition sur Format(Now(), "dd-mm-yyyy")

Bjr JeanPierre,

J'ai vu ton fichier qui marche parfaitement.
Moi j'ai 2 text box, 1 pour les heures et 1 pour les minutes.
Je vais essayer de faire comme toi !
 
Re : Condition sur Format(Now(), "dd-mm-yyyy")

Ok ça marche !

Mais par contre, j'ai mis ce code dans mon UserForm Command button1 Click

mais à la fin de ma macro qui est dans un module, je ne peux pas récupérer datex.

Est-ce normal ?
 
Re : Condition sur Format(Now(), "dd-mm-yyyy")

Bonjour Mikael, PierreJean🙂

peut être déclarée ta variable "datex" en public, voir ci-dessous à placer sur la première ligne d'un module standard.

Code:
Public datex As Date

bon après midi
@+
 
Re : Condition sur Format(Now(), "dd-mm-yyyy")


Merci Pierrot93, apprament ça fonctionne mais ma datex est au format 02/08/2010, alors que mon code précise bien des -
Code:
If Val(TextBox1) >= 23 Then
   datex = Format(Now() - 1, "dd-mm-yyyy") ' pour prendre le jour précèdent
End If
If Val(TextBox1) < 23 Then
   datex = Format(Now(), "dd-mm-yyyy") ' pour prendre le jour en cours
End If

alors quand je fais "enregistrer sous" pour ce classeur avec la date et des /. la macro plante !
 
Re : Condition sur Format(Now(), "dd-mm-yyyy")

Re,

c'est une variable de type "date", donc elle a le format date reconnu par windows... Je pense qu'il faut formater lors de l'enregistrement

Code:
 ActiveWorkbook.SaveAs "ton nom" & Format(datex , "dd-mm-yyyy")

@+
 
- 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
316
Réponses
4
Affichages
485
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…