[EXCEL VBA] - Cellule de date Vide
Résolu/Fermé
freto
Messages postés
1543
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
8 avril 2016
-
9 sept. 2008 à 15:30
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 10 sept. 2008 à 11:21
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 10 sept. 2008 à 11:21
A voir également:
- Vba test cellule vide
- Test performance pc - Guide
- Test composant pc - Guide
- Supprimer page word vide - Guide
- Test steam deck oled - Guide
- Redmi note 13 5g test - Accueil - Téléphones
5 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
10 sept. 2008 à 09:11
10 sept. 2008 à 09:11
Bonjour,
Dsl de m'incruster.
Le but de cette fonction est de vérifier si une date passée en paramètre est bien contenue dans une liste de date.
Si c'est le cas voilà comment je le ferai :
;o)
Dsl de m'incruster.
Le but de cette fonction est de vérifier si une date passée en paramètre est bien contenue dans une liste de date.
Si c'est le cas voilà comment je le ferai :
Function Ferie(param As Date) As Boolean Dim indLigne As Integer indLigne = 2 While (Sheet2.Cells(indLigne, "E").Value <> "" If (Sheet2.Cells(indLigne, "E").Value = dateCourante) Then Ferie= True Exit Function End If indLigne = indLigne + 1 Wend Ferie = False End Function
;o)
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
645
9 sept. 2008 à 17:27
9 sept. 2008 à 17:27
Bonjour,
Je suppose qu'a l'entrée du While result est False et param initialisé avec une date valide.
Ces hypothèses faites, comme il y a un OR dans la condition du While cela signifie que la boucle s'arrête lorsque les deux conditions inverses sont réunies c'est à dire quand la cellule est vide ET que result = True.
Si je comprends bien donc pour que celà s'arrête il faut une cellule vide Et qu'une cellule d'une ligne précédente soit égale à la valeur de la variable param...(pour que result passe à True)
Si ces deux conditions ne sont pas réunies la boucle ne s'arrête pas...
Me préciser si je comprends bien..
A+
Je suppose qu'a l'entrée du While result est False et param initialisé avec une date valide.
Ces hypothèses faites, comme il y a un OR dans la condition du While cela signifie que la boucle s'arrête lorsque les deux conditions inverses sont réunies c'est à dire quand la cellule est vide ET que result = True.
Si je comprends bien donc pour que celà s'arrête il faut une cellule vide Et qu'une cellule d'une ligne précédente soit égale à la valeur de la variable param...(pour que result passe à True)
Si ces deux conditions ne sont pas réunies la boucle ne s'arrête pas...
Me préciser si je comprends bien..
A+
freto
Messages postés
1543
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
8 avril 2016
162
10 sept. 2008 à 08:58
10 sept. 2008 à 08:58
Effectivement, result est a False et param est bien initialisé.
Ci dessous le code complet de ma fonction.
Précision sur la condition avec le Or: si l'un des deux élément est faux, alors elle devient fausse. (enfin il me semble)
Ci dessous le code complet de ma fonction.
Function Ferie(param As Date) As Boolean Dim result As Boolean Dim indLigne As Integer Dim dateCourante As Date result = False indLigne = 2 dateCourante = CDate(Sheet2.Cells(indLigne, "E").Value) While (Sheet2.Cells(indLigne, "E").Value <> "" Or (result = False)) If (param = dateCourante) Then result = True End If dateCourante = CDate(Sheet2.Cells(indLigne, "E").Value) indLigne = indLigne + 1 Wend Ferie = result End Function
Précision sur la condition avec le Or: si l'un des deux élément est faux, alors elle devient fausse. (enfin il me semble)
cel92
Messages postés
28
Date d'inscription
mercredi 13 février 2008
Statut
Membre
Dernière intervention
16 décembre 2008
13
10 sept. 2008 à 11:19
10 sept. 2008 à 11:19
Freto,
Précision sur la condition avec le Or: si au mois l'un des deux éléments est vrai, alors l'ensemble est vrai.
Tu confonds avec le And ...
Précision sur la condition avec le Or: si au mois l'un des deux éléments est vrai, alors l'ensemble est vrai.
Tu confonds avec le And ...
freto
Messages postés
1543
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
8 avril 2016
162
10 sept. 2008 à 11:12
10 sept. 2008 à 11:12
Okey je teste et je te redis si sa fonctionne pour moi
Okey sa fonctionne, mis a part une petite erreur
C'est pas dateCourante mais param qu'il fallait mettre.
En tout cas merci beaucoup sa fonctionne maintenant
Okey sa fonctionne, mis a part une petite erreur
Function Ferie(param As Date) As Boolean Dim indLigne As Integer indLigne = 2 While (Sheet2.Cells(indLigne, "E").Value <> "" If (Sheet2.Cells(indLigne, "E").Value = dateCourante) Then Ferie= True Exit Function End If indLigne = indLigne + 1 Wend Ferie = False End Function
C'est pas dateCourante mais param qu'il fallait mettre.
En tout cas merci beaucoup sa fonctionne maintenant
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
10 sept. 2008 à 11:21
10 sept. 2008 à 11:21
Oui exact, c'est une erreur lors de la recopie, mais tu as corrigé :o)
Bonne continuation
;o)
Bonne continuation
;o)