VBA test avec Hour et Minute (résolu)

dancar

XLDnaute Junior
Bonjour à toutes et à tous,

J'ai besoin de tester si la cellule E4 qui est au format heure 00:00 contient bien 00:00 quelque soit le jour.
je le fais via l'extrait de code suivant qui fait référence à un test logique dans la cellule AC3.
If [AC3] = FAUX Then 'le test dans AC3 est: =OU(HEURE(E4)>0;MINUTE(E4)>0)
msgbox "blablabla"
Exit Sub
End If

Je préférerai ne pas mettre le test =OU(HEURE(E4)>0;MINUTE(E4)>0) dans la cellule AC3 (ou une autre) et faire ce test uniquement dans le code de la macro. J'ai donc essayé le code suivant
If Hour(E4) > 0 Or Minute(E4) > 0 Then
msgbox "Blablabla"
Exit Sub
End If

mais il ne fonctionne pas et ne génère aucun message d'erreur.
J'ai essayé un grand nombre de syntaxes et passer un temps fou sur Internet pour trouver la solution mais sans succès. Inutile de préciser que je n'ai pas une grande connaissance de VBA.

Merci à celles et ceux qui éclaireront ma lanterne.
Bonne soirée
 

dancar

XLDnaute Junior
Bonjour à toutes et à tous,

J'ai besoin de tester si la cellule E4 qui est au format heure 00:00 contient bien 00:00 quelque soit le jour.
je le fais via l'extrait de code suivant qui fait référence à un test logique dans la cellule AC3.
If [AC3] = FAUX Then 'le test dans AC3 est: =OU(HEURE(E4)>0;MINUTE(E4)>0)
msgbox "blablabla"
Exit Sub
End If

Je préférerai ne pas mettre le test =OU(HEURE(E4)>0;MINUTE(E4)>0) dans la cellule AC3 (ou une autre) et faire ce test uniquement dans le code de la macro. J'ai donc essayé le code suivant
If Hour(E4) > 0 Or Minute(E4) > 0 Then
msgbox "Blablabla"
Exit Sub
End If

mais il ne fonctionne pas et ne génère aucun message d'erreur.
J'ai essayé un grand nombre de syntaxes et passer un temps fou sur Internet pour trouver la solution mais sans succès. Inutile de préciser que je n'ai pas une grande connaissance de VBA.

Merci à celles et ceux qui éclaireront ma lanterne.
Bonne soirée

J'ai fini par trouver la solution
If Hour([E4]) > 0 Or Minute([E4]) > 0 Then
msgbox "Blablabla"
Exit Sub
End If

Il fallait rajouter des [ ]

Philippe et Eric, encore merci d'avoir voulu m'aider
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re,

J'ai fini par trouver la solution
If Hour([E4]) > 0 Or Minute([E4]) > 0 Then
msgbox "Blablabla"
Exit Sub
End If

Il fallait rajouter des [ ]

Cette solution n'est pas bonne car elle ne répond pas à la demande initiale qui stipulait

J'ai besoin de tester si la cellule E4 qui est au format heure 00:00 contient bien 00:00 quelque soit le jour.

La bonne solution est:
If Hour([E4]) > 0 And Minute([E4]) > 0 Then

à+
Philippe
 

Modeste geedee

XLDnaute Barbatruc
Bonsour® Philippe :(:(:(:(:(,

;);););););):p:p:p:p
Cette solution n'est pas bonne non plus !!!
car elle ne répond pas à la demande initiale qui stipulait :
la cellule E4 qui est au format heure 00:00 contient bien 00:00

la cellule contient une valeur qui n'est pas "00:00" mais qui s'affiche sous forme de texte "00:00" !!!
ne pas confondre affichage et valeur !!!

le contenu est vraisemblablement une valeur décimale
dont la partie décimale est proche de zéro ou tout au moins inférieure à : 0,000683

dixit ma proposition (tetracapillosectomie )

littéralement
If [E4].Text = "00:00" Then

:D:rolleyes::rolleyes::rolleyes::)
Hi... Hi... Hi...


 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof