| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 13 janvier 2020 - 21:18 |
Bonjour à tous
Dans une Combo, je récupère une date et j'aimerais récupérer dans une Combo, le jour et dans une autre, le N° du jour.
Exemple !
Combo1 = lundi 13 janvier 2020 Combo2 = Lundi Combo3 = 2ème
Merci de votre aide David |
| |
| |
| | | |
|
| | |
| |
Posté le 14 janvier 2020 - 09:59 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 14 janvier 2020 - 15:14 |
Bonjour NN12
Merci de ta réponse Pour le jour (lundi), il n'y a pas de problème
C'est sur le combo3 que je ne vois pas |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 309 messages Popularité : +31 (37 votes) |
|
Posté le 14 janvier 2020 - 15:42 |
Bonjour, Si on arrive à obtenir : - Le premier jour du mois considéré - Le numéro de jour (1 pour lundi...) du premier jour du mois - La numero de jour de la date considérée (1 pour lundi 13 janvier 2020 dans l'exemple) - sachant qu'une semaine fait 7 jours - quelques soustractions et une division et on devrait obtenir le N du Nième jour de semaine considéré dans le mois
Bon dev |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 14 janvier 2020 - 17:12 |
houla ! Je débute... Si tu peux m'indiquer le code et ou le placer stp ? En fait, il n'y a pas de Combo1. c'est un champ de saisie avec calendrier (SAI_Date)!Message modifié, 14 janvier 2020 - 17:16 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 165 messages Popularité : +12 (12 votes) |
|
Posté le 15 janvier 2020 - 01:26 |
Bonjour; Date : JJ-MM-AAAA C'est le résultat de la division du JJ sur 7 et on ajoute 1
exemple : on est le 15-01-2020
résultat de 15 / 7 = 2 on ajoute 1 au résultat : 2+1 = 3
on est le 3ieme Mercredi du mois
Bon Dev. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 309 messages Popularité : +31 (37 votes) |
|
Posté le 15 janvier 2020 - 09:30 |
@Fouedusa
Bonjour
Attention à cette formule qui renverra toujours 2 pour le 7 du mois (au lieu de 1)
Bon dev |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 15 janvier 2020 - 12:42 |
Bonjour Merci pour ton aide
Dans mon code, si je sélectionne 18/01/2020, le SAI_DateRecherche (Type numérique sans chiffre après la virgule) affiche "4" alors que c'est le 3ème samedi Je comprend que le résultat est 3,57 donc il prend 4. Comment faire pour qu'il affiche le premier chier avant la virgule ?
A chaque Modification de SAI_Date
MaDate est une Date = MoiMême
SI DateValide(MoiMême) ALORS SAI_DateRecherche=MaDate..Jour/7+1
Merci de cette aide |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 309 messages Popularité : +31 (37 votes) |
|
Posté le 15 janvier 2020 - 13:24 |
Essayez :
SAI_DateRecherche= PartieEntière ((madate..jour-1)/7)+1
Bon dev |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 950 messages Popularité : +53 (63 votes) |
|
Posté le 15 janvier 2020 - 13:57 |
Bonjour,
je viens d'ecrire ca
Procedure RenvoiPositionJour(daterecherche est une Date = "20200101")
datedebut est une Date = PremierJourDuMois(daterecherche)
datefin est une Date = DernierJourDuMois(datedebut)
taBleaudate est un tableau associatif de tableau de Date
POUR i = 0 _À_ DateDifference(datedebut,datefin) dAteincrement est un Date = datedebut dAteincrement..Jour += i njour est un entier = DateVersJourDeLaSemaine(dAteincrement) Insère(taBleaudate,njour) SI njour <> 0 ALORS Ajoute(taBleaudate[njour],dAteincrement) FIN FIN
njourrecherche est un entier = DateVersJourDeLaSemaine(daterecherche) npositionjour est un entier = TableauCherche(taBleaudate[njourrecherche],tcLinéaire,daterecherche) SI npositionjour <> -1 ALORS SELON npositionjour CASE 1 RENVOYER "1er " + DateVersJourEnLettre(daterecherche) AUTRE CAS RENVOYER npositionjour + "ème " + DateVersJourEnLettre(daterecherche) FIN FIN
Je pense qu'il y a beaucoup plus simple mais ca fonctionne bien
RenvoiPositionJour("20200115") RenvoiPositionJour("20200115")
A vous de modifier le renvoi de la procedure
jordan |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 950 messages Popularité : +53 (63 votes) |
|
Posté le 15 janvier 2020 - 14:21 |
edit : C'est "20200131" et non "20200115" qui renvoi 5ème vendredi
Maudit soit le copier coller |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 15 janvier 2020 - 15:02 |
Bonjour Merci à vous trois !
Jordan, ""DateVersJourDeLaSemaine"" concerne WinDev 25. J'ai WinDev 19 ! Dommage
Samir, pour le chiffre c'est bon mais J'ai essayé d'ajouter "ème" et "er" comme ceci
MaDate est une Date = MoiMême
SI DateValide(MoiMême) ALORS SAI_DateLettre= EntierVersJourEnLettre(DateVersEntier(MoiMême)) SI SAI_DateChiffre <> 1 ALORS SAI_DateChiffre= PartieEntière ((MaDate..Jour-1)/7)+1 + "ème " SINON SAI_DateChiffre= PartieEntière ((MaDate..Jour-1)/7)+1 + "er " FIN FIN
Ca ne fonctionne pas (aléatoire). C'est un problème de masque de saisie ?
David |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 309 messages Popularité : +31 (37 votes) |
|
Posté le 15 janvier 2020 - 15:22 |
Sai_DateChiffre doit être un champ de type texte et votre code :
MaDate est une Date = MoiMême
SI DateValide(MaDate ) ALORS
posiJour est un entier = PartieEntière ((MaDate..Jour-1)/7)+1
SAI_DateLettre= EntierVersJourEnLettre(DateVersEntier(MaDate ))
SI posiJour <> 1 ALORS SAI_DateChiffre= posiJour + "ème " SINON SAI_DateChiffre= posiJour + "er " FIN FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 950 messages Popularité : +53 (63 votes) |
|
Posté le 15 janvier 2020 - 16:14 |
David a écrit :
Bonjour Merci à vous trois !
Jordan, ""DateVersJourDeLaSemaine"" concerne WinDev 25. J'ai WinDev 19 ! Dommage
Samir, pour le chiffre c'est bon mais J'ai essayé d'ajouter "ème" et "er" comme ceci
MaDate est une Date = MoiMême
SI DateValide(MoiMême) ALORS SAI_DateLettre= EntierVersJourEnLettre(DateVersEntier(MoiMême)) //Pour le jour en lettre : lundi, mardi, etc
SI SAI_DateChiffre <> 1 ALORS SAI_DateChiffre= PartieEntière ((MaDate..Jour-1)/7)+1 + "ème "// Pour le jour en chiffre : 2ème,3ème SINON SAI_DateChiffre= PartieEntière ((MaDate..Jour-1)/7)+1 + "er "// Pour le jour en chiffre : 1er FIN FIN
Ca ne fonctionne pas (aléatoire). C'est un problème de masque de saisie ?
David
Tu peux utiliser DateVersJour()
Jordan |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 66 messages Popularité : +0 (2 votes) |
|
Posté le 15 janvier 2020 - 17:21 |
| |
| |
| | | |
|
| | |