Conversion en numérique du contenu d’une "Zone de liste dérou
3 réponses
Merlevert
Je dois disposer d'une valeur numérique à partir du contenu de cette zone de
liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande pas
une autre opération de saisie éliminant ainsi une source d'erreur pour la
facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin la
valeur 0.5 et AprèsMidi la valeur 0.5
J'ai créé un module d'essai qui fonctionne très bien.
Function calix()
Dim Valeur1 As Single
TauxJour1 = InputBox("Entrez une valeur")
If TauxJour1 = "JourComplet" Then Valeur1 = 1
If TauxJour1 = "Matin" Then Valeur1 = 0.5
If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5
MsgBox Valeur1
End Function
Mais les difficultés surgissent lors de la mise en place dans la base de
donnée avec l'exemple ci-dessous. (écriture libre)
Dim bd As Database
Dim tc as recordset
Dim fc as Form
Dim cn as control
Dim nc as control
Dim valeur1 as Single
Public Function calix()
Set bd = current DB()
Set tc = bd.OpenRecordset ("Contacts")
Set fc = Form!Inscriptions
Set cn = fc!TauxJour1
Set nc = fc!Valeur1
If cn = "JourComplet" Then nc =1
If cn = "Matin" Then nc =0.5
If cn= "AprèsMidi" Then nc=0.5
End Function
En essayant la compilation avec F5 le module s'arrête en disant qu'il ne
trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la
fonction =calix() "sur sortie" de la zone de liste "TauxJour1" mais sans
succès…
Merci aux personnes qui essayeront et qui pourront m'aider.
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
Gilles MOUGNOZ
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété Données/Origine source), saisis directement les valeurs suivies de leur libellé dans la source (propriété Données/Contenu): 1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi" Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la propriété Format/Nbre colonnes) et que la première est masquée (saisir 0cm;5cm dans la propriété Format/Largeurs colonnes). Si tu veux à tout prix utiliser ton code, sache que le formulaire Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions fonctionne. Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder du côté de l'instruction "Select Case" (fais une recherche dans l'aide d'Access). -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone de liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande pas une autre opération de saisie éliminant ainsi une source d'erreur pour la facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin la valeur 0.5 et AprèsMidi la valeur 0.5 J'ai créé un module d'essai qui fonctionne très bien. Function calix() Dim Valeur1 As Single TauxJour1 = InputBox("Entrez une valeur") If TauxJour1 = "JourComplet" Then Valeur1 = 1 If TauxJour1 = "Matin" Then Valeur1 = 0.5 If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5 MsgBox Valeur1 End Function Mais les difficultés surgissent lors de la mise en place dans la base de donnée avec l'exemple ci-dessous. (écriture libre) Dim bd As Database Dim tc as recordset Dim fc as Form Dim cn as control Dim nc as control Dim valeur1 as Single Public Function calix() Set bd = current DB() Set tc = bd.OpenRecordset ("Contacts") Set fc = Form!Inscriptions Set cn = fc!TauxJour1 Set nc = fc!Valeur1 If cn = "JourComplet" Then nc =1 If cn = "Matin" Then nc =0.5 If cn= "AprèsMidi" Then nc=0.5 End Function En essayant la compilation avec F5 le module s'arrête en disant qu'il ne trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans succès. Merci aux personnes qui essayeront et qui pourront m'aider.
-- Avec les meilleurs ramages de merlevert!
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété
Données/Origine source), saisis directement les valeurs suivies de leur
libellé dans la source (propriété Données/Contenu):
1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi"
Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la
propriété Format/Nbre colonnes) et que la première est masquée (saisir
0cm;5cm dans la propriété Format/Largeurs colonnes).
Si tu veux à tout prix utiliser ton code, sache que le formulaire
Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions
fonctionne.
Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder
du côté de l'instruction "Select Case" (fais une recherche dans l'aide
d'Access).
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone
de
liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande
pas
une autre opération de saisie éliminant ainsi une source d'erreur pour la
facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin
la
valeur 0.5 et AprèsMidi la valeur 0.5
J'ai créé un module d'essai qui fonctionne très bien.
Function calix()
Dim Valeur1 As Single
TauxJour1 = InputBox("Entrez une valeur")
If TauxJour1 = "JourComplet" Then Valeur1 = 1
If TauxJour1 = "Matin" Then Valeur1 = 0.5
If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5
MsgBox Valeur1
End Function
Mais les difficultés surgissent lors de la mise en place dans la base de
donnée avec l'exemple ci-dessous. (écriture libre)
Dim bd As Database
Dim tc as recordset
Dim fc as Form
Dim cn as control
Dim nc as control
Dim valeur1 as Single
Public Function calix()
Set bd = current DB()
Set tc = bd.OpenRecordset ("Contacts")
Set fc = Form!Inscriptions
Set cn = fc!TauxJour1
Set nc = fc!Valeur1
If cn = "JourComplet" Then nc =1
If cn = "Matin" Then nc =0.5
If cn= "AprèsMidi" Then nc=0.5
End Function
En essayant la compilation avec F5 le module s'arrête en disant qu'il ne
trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la
fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans
succès.
Merci aux personnes qui essayeront et qui pourront m'aider.
Si ta liste déroulante est basée sur une Liste valeurs (propriété Données/Origine source), saisis directement les valeurs suivies de leur libellé dans la source (propriété Données/Contenu): 1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi" Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la propriété Format/Nbre colonnes) et que la première est masquée (saisir 0cm;5cm dans la propriété Format/Largeurs colonnes). Si tu veux à tout prix utiliser ton code, sache que le formulaire Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions fonctionne. Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder du côté de l'instruction "Select Case" (fais une recherche dans l'aide d'Access). -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone de liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande pas une autre opération de saisie éliminant ainsi une source d'erreur pour la facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin la valeur 0.5 et AprèsMidi la valeur 0.5 J'ai créé un module d'essai qui fonctionne très bien. Function calix() Dim Valeur1 As Single TauxJour1 = InputBox("Entrez une valeur") If TauxJour1 = "JourComplet" Then Valeur1 = 1 If TauxJour1 = "Matin" Then Valeur1 = 0.5 If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5 MsgBox Valeur1 End Function Mais les difficultés surgissent lors de la mise en place dans la base de donnée avec l'exemple ci-dessous. (écriture libre) Dim bd As Database Dim tc as recordset Dim fc as Form Dim cn as control Dim nc as control Dim valeur1 as Single Public Function calix() Set bd = current DB() Set tc = bd.OpenRecordset ("Contacts") Set fc = Form!Inscriptions Set cn = fc!TauxJour1 Set nc = fc!Valeur1 If cn = "JourComplet" Then nc =1 If cn = "Matin" Then nc =0.5 If cn= "AprèsMidi" Then nc=0.5 End Function En essayant la compilation avec F5 le module s'arrête en disant qu'il ne trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans succès. Merci aux personnes qui essayeront et qui pourront m'aider.
-- Avec les meilleurs ramages de merlevert!
Merlevert
Merci Gilles, je vais essayer. Pierre alias merlevert, en fait un vague cousin du Pic Vert :-)) -- Avec les meilleurs ramages de merlevert!
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété Données/Origine source), saisis directement les valeurs suivies de leur libellé dans la source (propriété Données/Contenu): 1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi" Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la propriété Format/Nbre colonnes) et que la première est masquée (saisir 0cm;5cm dans la propriété Format/Largeurs colonnes). Si tu veux à tout prix utiliser ton code, sache que le formulaire Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions fonctionne. Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder du côté de l'instruction "Select Case" (fais une recherche dans l'aide d'Access). -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone de liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande pas une autre opération de saisie éliminant ainsi une source d'erreur pour la facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin la valeur 0.5 et AprèsMidi la valeur 0.5 J'ai créé un module d'essai qui fonctionne très bien. Function calix() Dim Valeur1 As Single TauxJour1 = InputBox("Entrez une valeur") If TauxJour1 = "JourComplet" Then Valeur1 = 1 If TauxJour1 = "Matin" Then Valeur1 = 0.5 If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5 MsgBox Valeur1 End Function Mais les difficultés surgissent lors de la mise en place dans la base de donnée avec l'exemple ci-dessous. (écriture libre) Dim bd As Database Dim tc as recordset Dim fc as Form Dim cn as control Dim nc as control Dim valeur1 as Single Public Function calix() Set bd = current DB() Set tc = bd.OpenRecordset ("Contacts") Set fc = Form!Inscriptions Set cn = fc!TauxJour1 Set nc = fc!Valeur1 If cn = "JourComplet" Then nc =1 If cn = "Matin" Then nc =0.5 If cn= "AprèsMidi" Then nc=0.5 End Function En essayant la compilation avec F5 le module s'arrête en disant qu'il ne trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans succès. Merci aux personnes qui essayeront et qui pourront m'aider.
-- Avec les meilleurs ramages de merlevert!
Merci Gilles, je vais essayer. Pierre alias merlevert, en fait un vague
cousin du Pic Vert :-))
--
Avec les meilleurs ramages de merlevert!
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété
Données/Origine source), saisis directement les valeurs suivies de leur
libellé dans la source (propriété Données/Contenu):
1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi"
Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la
propriété Format/Nbre colonnes) et que la première est masquée (saisir
0cm;5cm dans la propriété Format/Largeurs colonnes).
Si tu veux à tout prix utiliser ton code, sache que le formulaire
Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions
fonctionne.
Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder
du côté de l'instruction "Select Case" (fais une recherche dans l'aide
d'Access).
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone
de
liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande
pas
une autre opération de saisie éliminant ainsi une source d'erreur pour la
facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin
la
valeur 0.5 et AprèsMidi la valeur 0.5
J'ai créé un module d'essai qui fonctionne très bien.
Function calix()
Dim Valeur1 As Single
TauxJour1 = InputBox("Entrez une valeur")
If TauxJour1 = "JourComplet" Then Valeur1 = 1
If TauxJour1 = "Matin" Then Valeur1 = 0.5
If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5
MsgBox Valeur1
End Function
Mais les difficultés surgissent lors de la mise en place dans la base de
donnée avec l'exemple ci-dessous. (écriture libre)
Dim bd As Database
Dim tc as recordset
Dim fc as Form
Dim cn as control
Dim nc as control
Dim valeur1 as Single
Public Function calix()
Set bd = current DB()
Set tc = bd.OpenRecordset ("Contacts")
Set fc = Form!Inscriptions
Set cn = fc!TauxJour1
Set nc = fc!Valeur1
If cn = "JourComplet" Then nc =1
If cn = "Matin" Then nc =0.5
If cn= "AprèsMidi" Then nc=0.5
End Function
En essayant la compilation avec F5 le module s'arrête en disant qu'il ne
trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la
fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans
succès.
Merci aux personnes qui essayeront et qui pourront m'aider.
Merci Gilles, je vais essayer. Pierre alias merlevert, en fait un vague cousin du Pic Vert :-)) -- Avec les meilleurs ramages de merlevert!
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété Données/Origine source), saisis directement les valeurs suivies de leur libellé dans la source (propriété Données/Contenu): 1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi" Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la propriété Format/Nbre colonnes) et que la première est masquée (saisir 0cm;5cm dans la propriété Format/Largeurs colonnes). Si tu veux à tout prix utiliser ton code, sache que le formulaire Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions fonctionne. Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder du côté de l'instruction "Select Case" (fais une recherche dans l'aide d'Access). -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone de liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande pas une autre opération de saisie éliminant ainsi une source d'erreur pour la facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin la valeur 0.5 et AprèsMidi la valeur 0.5 J'ai créé un module d'essai qui fonctionne très bien. Function calix() Dim Valeur1 As Single TauxJour1 = InputBox("Entrez une valeur") If TauxJour1 = "JourComplet" Then Valeur1 = 1 If TauxJour1 = "Matin" Then Valeur1 = 0.5 If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5 MsgBox Valeur1 End Function Mais les difficultés surgissent lors de la mise en place dans la base de donnée avec l'exemple ci-dessous. (écriture libre) Dim bd As Database Dim tc as recordset Dim fc as Form Dim cn as control Dim nc as control Dim valeur1 as Single Public Function calix() Set bd = current DB() Set tc = bd.OpenRecordset ("Contacts") Set fc = Form!Inscriptions Set cn = fc!TauxJour1 Set nc = fc!Valeur1 If cn = "JourComplet" Then nc =1 If cn = "Matin" Then nc =0.5 If cn= "AprèsMidi" Then nc=0.5 End Function En essayant la compilation avec F5 le module s'arrête en disant qu'il ne trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans succès. Merci aux personnes qui essayeront et qui pourront m'aider.
-- Avec les meilleurs ramages de merlevert!
Merlevert
J'ai essayé ta première solution et ça fonctionne à merveille. Merci Gilles :-))) -- Avec les meilleurs ramages de merlevert! alis Pierre
Merci Gilles, je vais essayer. Pierre alias merlevert, en fait un vague cousin du Pic Vert :-)) -- Avec les meilleurs ramages de merlevert!
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété Données/Origine source), saisis directement les valeurs suivies de leur libellé dans la source (propriété Données/Contenu): 1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi" Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la propriété Format/Nbre colonnes) et que la première est masquée (saisir 0cm;5cm dans la propriété Format/Largeurs colonnes). Si tu veux à tout prix utiliser ton code, sache que le formulaire Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions fonctionne. Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder du côté de l'instruction "Select Case" (fais une recherche dans l'aide d'Access). -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone de liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande pas une autre opération de saisie éliminant ainsi une source d'erreur pour la facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin la valeur 0.5 et AprèsMidi la valeur 0.5 J'ai créé un module d'essai qui fonctionne très bien. Function calix() Dim Valeur1 As Single TauxJour1 = InputBox("Entrez une valeur") If TauxJour1 = "JourComplet" Then Valeur1 = 1 If TauxJour1 = "Matin" Then Valeur1 = 0.5 If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5 MsgBox Valeur1 End Function Mais les difficultés surgissent lors de la mise en place dans la base de donnée avec l'exemple ci-dessous. (écriture libre) Dim bd As Database Dim tc as recordset Dim fc as Form Dim cn as control Dim nc as control Dim valeur1 as Single Public Function calix() Set bd = current DB() Set tc = bd.OpenRecordset ("Contacts") Set fc = Form!Inscriptions Set cn = fc!TauxJour1 Set nc = fc!Valeur1 If cn = "JourComplet" Then nc =1 If cn = "Matin" Then nc =0.5 If cn= "AprèsMidi" Then nc=0.5 End Function En essayant la compilation avec F5 le module s'arrête en disant qu'il ne trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans succès. Merci aux personnes qui essayeront et qui pourront m'aider.
-- Avec les meilleurs ramages de merlevert!
J'ai essayé ta première solution et ça fonctionne à merveille. Merci Gilles
:-)))
--
Avec les meilleurs ramages de merlevert! alis Pierre
Merci Gilles, je vais essayer. Pierre alias merlevert, en fait un vague
cousin du Pic Vert :-))
--
Avec les meilleurs ramages de merlevert!
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété
Données/Origine source), saisis directement les valeurs suivies de leur
libellé dans la source (propriété Données/Contenu):
1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi"
Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la
propriété Format/Nbre colonnes) et que la première est masquée (saisir
0cm;5cm dans la propriété Format/Largeurs colonnes).
Si tu veux à tout prix utiliser ton code, sache que le formulaire
Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions
fonctionne.
Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder
du côté de l'instruction "Select Case" (fais une recherche dans l'aide
d'Access).
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone
de
liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande
pas
une autre opération de saisie éliminant ainsi une source d'erreur pour la
facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin
la
valeur 0.5 et AprèsMidi la valeur 0.5
J'ai créé un module d'essai qui fonctionne très bien.
Function calix()
Dim Valeur1 As Single
TauxJour1 = InputBox("Entrez une valeur")
If TauxJour1 = "JourComplet" Then Valeur1 = 1
If TauxJour1 = "Matin" Then Valeur1 = 0.5
If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5
MsgBox Valeur1
End Function
Mais les difficultés surgissent lors de la mise en place dans la base de
donnée avec l'exemple ci-dessous. (écriture libre)
Dim bd As Database
Dim tc as recordset
Dim fc as Form
Dim cn as control
Dim nc as control
Dim valeur1 as Single
Public Function calix()
Set bd = current DB()
Set tc = bd.OpenRecordset ("Contacts")
Set fc = Form!Inscriptions
Set cn = fc!TauxJour1
Set nc = fc!Valeur1
If cn = "JourComplet" Then nc =1
If cn = "Matin" Then nc =0.5
If cn= "AprèsMidi" Then nc=0.5
End Function
En essayant la compilation avec F5 le module s'arrête en disant qu'il ne
trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la
fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans
succès.
Merci aux personnes qui essayeront et qui pourront m'aider.
J'ai essayé ta première solution et ça fonctionne à merveille. Merci Gilles :-))) -- Avec les meilleurs ramages de merlevert! alis Pierre
Merci Gilles, je vais essayer. Pierre alias merlevert, en fait un vague cousin du Pic Vert :-)) -- Avec les meilleurs ramages de merlevert!
Bonjour, Merle Vert (un cousin du pic-vert ? ;-)
Si ta liste déroulante est basée sur une Liste valeurs (propriété Données/Origine source), saisis directement les valeurs suivies de leur libellé dans la source (propriété Données/Contenu): 1;"JourComplet";0.5;"Matin";0.5;"AprèsMidi" Ensuite, il faut indiquer que la liste a deux colonnes (saisir 2 dans la propriété Format/Nbre colonnes) et que la première est masquée (saisir 0cm;5cm dans la propriété Format/Largeurs colonnes). Si tu veux à tout prix utiliser ton code, sache que le formulaire Inscriptions doit être ouvert pour que l'instruction Form!Inscriptions fonctionne. Enfin, plutôt que d'utiliser des If successifs, je te conseille de regarder du côté de l'instruction "Select Case" (fais une recherche dans l'aide d'Access). -- Bonne continuation ------------------------------------------------------------------------------------------- http://www.mpfa.info : c'est bonheur pour ton ordinateur ! -------------------------------------------------------------------------------------------
Je dois disposer d'une valeur numérique à partir du contenu de cette zone de liste déroulante nommée "TauxJour1" de manière à ce que cela ne demande pas une autre opération de saisie éliminant ainsi une source d'erreur pour la facturation. Dans cette liste "JourComplet" doit avoir la valeur "1" Matin la valeur 0.5 et AprèsMidi la valeur 0.5 J'ai créé un module d'essai qui fonctionne très bien. Function calix() Dim Valeur1 As Single TauxJour1 = InputBox("Entrez une valeur") If TauxJour1 = "JourComplet" Then Valeur1 = 1 If TauxJour1 = "Matin" Then Valeur1 = 0.5 If TauxJour1 = "AprèsMidi" Then Valeur1 = 0.5 MsgBox Valeur1 End Function Mais les difficultés surgissent lors de la mise en place dans la base de donnée avec l'exemple ci-dessous. (écriture libre) Dim bd As Database Dim tc as recordset Dim fc as Form Dim cn as control Dim nc as control Dim valeur1 as Single Public Function calix() Set bd = current DB() Set tc = bd.OpenRecordset ("Contacts") Set fc = Form!Inscriptions Set cn = fc!TauxJour1 Set nc = fc!Valeur1 If cn = "JourComplet" Then nc =1 If cn = "Matin" Then nc =0.5 If cn= "AprèsMidi" Then nc=0.5 End Function En essayant la compilation avec F5 le module s'arrête en disant qu'il ne trouve pas le formulaire Inscriptions. J'ai essayé de mettre place la fonction Êlix() "sur sortie" de la zone de liste "TauxJour1" mais sans succès. Merci aux personnes qui essayeront et qui pourront m'aider.