Bonjour,
J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport
5 Jours de transport
10 Jours de transport
Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2,
5, 10 et 0 (si pas de jours)
J'ai fait avec Excel mais là je sèche.
D'avance merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Dragan
Bonjour Renaud, d'après ce que tu écris il y a une valeur numérique devant le mot " Jour" quand les 3 premières lettres sont différentes du mot "Pas". Donc :
IF LEFT([J de t],3)="Pas" THEN NbJours=0 ELSE NbJours=CINT(LEFT([J de t], INSTR([J de t]," Jour")-1))
sur une seule ligne : NbJours IIF(LEFT([J de t],3)="Pas",0,CINT(LEFT([J de t],INSTR([J de t]," Jour")-1)))
"RENAUD Eric" a écrit :
Bonjour, J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport 5 Jours de transport 10 Jours de transport Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2, 5, 10 et 0 (si pas de jours) J'ai fait avec Excel mais là je sèche. D'avance merci.
Bonjour Renaud,
d'après ce que tu écris il y a une valeur numérique devant le mot " Jour"
quand les 3 premières lettres sont différentes du mot "Pas". Donc :
IF LEFT([J de t],3)="Pas"
THEN NbJours=0
ELSE NbJours=CINT(LEFT([J de t], INSTR([J de t]," Jour")-1))
sur une seule ligne :
NbJours IIF(LEFT([J de t],3)="Pas",0,CINT(LEFT([J de t],INSTR([J de t]," Jour")-1)))
"RENAUD Eric" a écrit :
Bonjour,
J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport
5 Jours de transport
10 Jours de transport
Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2,
5, 10 et 0 (si pas de jours)
J'ai fait avec Excel mais là je sèche.
D'avance merci.
Bonjour Renaud, d'après ce que tu écris il y a une valeur numérique devant le mot " Jour" quand les 3 premières lettres sont différentes du mot "Pas". Donc :
IF LEFT([J de t],3)="Pas" THEN NbJours=0 ELSE NbJours=CINT(LEFT([J de t], INSTR([J de t]," Jour")-1))
sur une seule ligne : NbJours IIF(LEFT([J de t],3)="Pas",0,CINT(LEFT([J de t],INSTR([J de t]," Jour")-1)))
"RENAUD Eric" a écrit :
Bonjour, J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport 5 Jours de transport 10 Jours de transport Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2, 5, 10 et 0 (si pas de jours) J'ai fait avec Excel mais là je sèche. D'avance merci.
TopJB
Bonjour,
La solution de Dragan me semble bonne.
En voici une autre donc tu peux faire dans un module :
--------------- Début du code ---------------------
Function RecupNbJourTransport (ChaineATraiter as string) as integer 'ChaineATraiter resprésente la valeur de ton champ que tu passe en paramètre à la fonction 'Si tu veut retourner une chaine de caractère tu remplace 'integer' par 'string'
Dim StrTable() as String
'Découpage dans un tableau de ta chaîne sur la lettre "J" pour jour 'Donc ce qui donne pour: '2 Jours de transport => dans la première case de ton tableau tu auras "2 " et dans la seconde "Jours de transport" 'Pas de jours de transport => dans la première case de ton tableau tu auras "Pas de " et dans la seconde "jours de transport" StrTable = Split(ChaineATraiter,"J")
'Ensuite on vérifie si la première case est un numérique 'Si oui on stocke le chiffre sinon on stocke 0 'La fonction Trim supprime les espaces avant et après une chaine de caractères if IsNumeric(Trim(StrTable(0))) then 'La tu peut enlever le Cint si tu veut retourner une chaine de caractère au lieu d'un numérique RecupNbJourTransport = Cint(trim(StrTable(0)) else 'Si tu veux retourner une chaine de caractère au lieu d'un numérique mets "0" à la place de 0 RecupNbJourTransport = 0 end if
End Function
----------------- Fin du code --------------------
Donc à l'endroit ou tu veut récupérer le nombre de jour tu appelle la fonction est écrivant :
'TaVariable' = RecupNbJourTransport(me.[Jours de transport])
Voilà
Cordialement
RENAUD Eric a écrit :
Bonjour, J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport 5 Jours de transport 10 Jours de transport Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2, 5, 10 et 0 (si pas de jours) J'ai fait avec Excel mais là je sèche. D'avance merci.
Bonjour,
La solution de Dragan me semble bonne.
En voici une autre donc tu peux faire dans un module :
--------------- Début du code ---------------------
Function RecupNbJourTransport (ChaineATraiter as string) as integer
'ChaineATraiter resprésente la valeur de ton champ que tu passe en
paramètre à la fonction
'Si tu veut retourner une chaine de caractère tu remplace 'integer' par
'string'
Dim StrTable() as String
'Découpage dans un tableau de ta chaîne sur la lettre "J" pour jour
'Donc ce qui donne pour:
'2 Jours de transport => dans la première case de ton tableau tu auras
"2 " et dans la seconde "Jours de transport"
'Pas de jours de transport => dans la première case de ton tableau tu
auras "Pas de " et dans la seconde "jours de transport"
StrTable = Split(ChaineATraiter,"J")
'Ensuite on vérifie si la première case est un numérique
'Si oui on stocke le chiffre sinon on stocke 0
'La fonction Trim supprime les espaces avant et après une chaine de
caractères
if IsNumeric(Trim(StrTable(0))) then
'La tu peut enlever le Cint si tu veut retourner une chaine de
caractère au lieu d'un numérique
RecupNbJourTransport = Cint(trim(StrTable(0))
else
'Si tu veux retourner une chaine de caractère au lieu d'un numérique
mets "0" à la place de 0
RecupNbJourTransport = 0
end if
End Function
----------------- Fin du code --------------------
Donc à l'endroit ou tu veut récupérer le nombre de jour tu appelle la
fonction est écrivant :
'TaVariable' = RecupNbJourTransport(me.[Jours de transport])
Voilà
Cordialement
RENAUD Eric a écrit :
Bonjour,
J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport
5 Jours de transport
10 Jours de transport
Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2,
5, 10 et 0 (si pas de jours)
J'ai fait avec Excel mais là je sèche.
D'avance merci.
En voici une autre donc tu peux faire dans un module :
--------------- Début du code ---------------------
Function RecupNbJourTransport (ChaineATraiter as string) as integer 'ChaineATraiter resprésente la valeur de ton champ que tu passe en paramètre à la fonction 'Si tu veut retourner une chaine de caractère tu remplace 'integer' par 'string'
Dim StrTable() as String
'Découpage dans un tableau de ta chaîne sur la lettre "J" pour jour 'Donc ce qui donne pour: '2 Jours de transport => dans la première case de ton tableau tu auras "2 " et dans la seconde "Jours de transport" 'Pas de jours de transport => dans la première case de ton tableau tu auras "Pas de " et dans la seconde "jours de transport" StrTable = Split(ChaineATraiter,"J")
'Ensuite on vérifie si la première case est un numérique 'Si oui on stocke le chiffre sinon on stocke 0 'La fonction Trim supprime les espaces avant et après une chaine de caractères if IsNumeric(Trim(StrTable(0))) then 'La tu peut enlever le Cint si tu veut retourner une chaine de caractère au lieu d'un numérique RecupNbJourTransport = Cint(trim(StrTable(0)) else 'Si tu veux retourner une chaine de caractère au lieu d'un numérique mets "0" à la place de 0 RecupNbJourTransport = 0 end if
End Function
----------------- Fin du code --------------------
Donc à l'endroit ou tu veut récupérer le nombre de jour tu appelle la fonction est écrivant :
'TaVariable' = RecupNbJourTransport(me.[Jours de transport])
Voilà
Cordialement
RENAUD Eric a écrit :
Bonjour, J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport 5 Jours de transport 10 Jours de transport Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2, 5, 10 et 0 (si pas de jours) J'ai fait avec Excel mais là je sèche. D'avance merci.
Eric
Bonsoir,
En plus simple :
Dans un contrôle indépendant de formulaire/état: en Source controle : =VRAIFAUX(Pas EstNull([Jours de transport]);CNUM([Jours de transport]);"")
Dans une requête: NBJ:CNUM([Jours de transport])
Dans du code : NBJ=VAL([Jours de transport])
mais il faudra tester si le champ n'est pas null soit en critère sur le champ [Jours de transport] dans la requête soit via un if dans le code
RENAUD Eric a écrit :
Bonjour, J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport 5 Jours de transport 10 Jours de transport Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2, 5, 10 et 0 (si pas de jours) J'ai fait avec Excel mais là je sèche. D'avance merci.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir,
En plus simple :
Dans un contrôle indépendant de formulaire/état:
en Source controle : =VRAIFAUX(Pas EstNull([Jours de
transport]);CNUM([Jours de transport]);"")
Dans une requête:
NBJ:CNUM([Jours de transport])
Dans du code :
NBJ=VAL([Jours de transport])
mais il faudra tester si le champ n'est pas null soit en critère sur le
champ [Jours de transport] dans la requête soit via un if dans le code
RENAUD Eric a écrit :
Bonjour,
J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport
5 Jours de transport
10 Jours de transport
Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2,
5, 10 et 0 (si pas de jours)
J'ai fait avec Excel mais là je sèche.
D'avance merci.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans un contrôle indépendant de formulaire/état: en Source controle : =VRAIFAUX(Pas EstNull([Jours de transport]);CNUM([Jours de transport]);"")
Dans une requête: NBJ:CNUM([Jours de transport])
Dans du code : NBJ=VAL([Jours de transport])
mais il faudra tester si le champ n'est pas null soit en critère sur le champ [Jours de transport] dans la requête soit via un if dans le code
RENAUD Eric a écrit :
Bonjour, J'ai un champ [Jours de transport] avec des libéllés comme suit :
2 Jours de transport 5 Jours de transport 10 Jours de transport Pas de jours de transport
Je souhaiterai avec un champ calculé pouvoir récupèrer respectivevement 2, 5, 10 et 0 (si pas de jours) J'ai fait avec Excel mais là je sèche. D'avance merci.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr