Rendre un champs visible sous conditions.
Résolu/Fermé
A voir également:
- Rendre un champs visible sous conditions.
- Clé usb non visible - Guide
- Comment rendre un fichier moins lourd - Guide
- Compte facebook désactivé mais toujours visible - Guide
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Comment nettoyer son mac pour le rendre plus rapide - Guide
4 réponses
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
Ambassadeur
1 556
30 oct. 2021 à 18:02
30 oct. 2021 à 18:02
bonjour,
je ne suis pas certain d'avoir tout compris.
veux-tu cacher une colonne de la feuille de données?
si j'ai compris, ton code ne retourne pas d'erreur, et il ne fait pas ce que tu souhaites.
j'essaierais plutôt, pour cacher la colonne:
et
Donc, jouer sur
Je n'ai pas testé.
je ne suis pas certain d'avoir tout compris.
veux-tu cacher une colonne de la feuille de données?
si j'ai compris, ton code ne retourne pas d'erreur, et il ne fait pas ce que tu souhaites.
j'essaierais plutôt, pour cacher la colonne:
.ColumnHidden = True
et
.ColumnHidden = Falsepour la montrer.
Donc, jouer sur
.ColumnHiddenplutôt que sur
.Visible.
Je n'ai pas testé.
Bonjour,
Il n'est pas nécessaire d'envoyer ton fichier, d'abord parce que je peux te dire d'emblée que tu ne peux pas masquer un contrôle en affichage feuille de données, ou alors en jouant sur la largeur de la colonne; mais là, je ne connais pas la commande en VBA.
Tu ne peux utiliser la commande Visible =true ou False que sur l'affichage en mode formulaire.
Deuxièmement, tu dois savoir que lorsque tu actives la commande Visible =true ou False, c'est tous les formulaires affichés, en mode continu dont le contrôle est à afficher ou masquer qui seront affichés et masqués en même temps. Il ne faut pas t'attendre à avoir les uns masqués les autres affichés selon la valeur des données des différents enregistrements.
Troisièmement, ton code n'est pas bon et ne sert à rien. Si tu veux que seules les valeurs que tu as choisies apparaissent, il te faut une requête qui te sélectionne les enregistrements dont les données correspondent à tes critères de sélection. Tel que tu poses ton problème, je ne vois pas d'autre solution.
En plus, je ne vois pas bien l'intérêt de ton code. Il indique qu'à peine ta donnée entrée dans le contrôle "ValeurA", celle-ci doit être masquée si elle ne correspond pas à la norme choisie. Étonnant ! Et puis après ? Quand tu auras entré une valeur acceptée par ta norme, c'est toutes tes valeurs qui réapparaitront.
Bon courage !
Il n'est pas nécessaire d'envoyer ton fichier, d'abord parce que je peux te dire d'emblée que tu ne peux pas masquer un contrôle en affichage feuille de données, ou alors en jouant sur la largeur de la colonne; mais là, je ne connais pas la commande en VBA.
Tu ne peux utiliser la commande Visible =true ou False que sur l'affichage en mode formulaire.
Deuxièmement, tu dois savoir que lorsque tu actives la commande Visible =true ou False, c'est tous les formulaires affichés, en mode continu dont le contrôle est à afficher ou masquer qui seront affichés et masqués en même temps. Il ne faut pas t'attendre à avoir les uns masqués les autres affichés selon la valeur des données des différents enregistrements.
Troisièmement, ton code n'est pas bon et ne sert à rien. Si tu veux que seules les valeurs que tu as choisies apparaissent, il te faut une requête qui te sélectionne les enregistrements dont les données correspondent à tes critères de sélection. Tel que tu poses ton problème, je ne vois pas d'autre solution.
En plus, je ne vois pas bien l'intérêt de ton code. Il indique qu'à peine ta donnée entrée dans le contrôle "ValeurA", celle-ci doit être masquée si elle ne correspond pas à la norme choisie. Étonnant ! Et puis après ? Quand tu auras entré une valeur acceptée par ta norme, c'est toutes tes valeurs qui réapparaitront.
Bon courage !
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
Ambassadeur
1 556
Modifié le 4 nov. 2021 à 18:32
Modifié le 4 nov. 2021 à 18:32
suggestion:
Private Sub NORMES_AfterUpdate() Dim sfd As SubForm, nrm As String, na As Boolean, nb As Boolean, ne As Boolean nrm = Me.Normes Set sfd = Me.Parent.[Examens sous-formulaire].Controls("[Details sous-formulaire]") na = True nb = True ne = True Select Case nrm Case "NORMEA": na = False Case "NORMEB": nb = False Case "NORMEE": ne = False End Select sfd.Controls("VALEURA").ColumnHidden = na sfd.Controls("VALEURB").ColumnHidden = nb sfd.Controls("VALEURE").ColumnHidden = ne End Sub
Bonjour,
Votre code fonctionne très bien, sauf qu'il y'a toujours un soucis:
Quand je sélectionne une NORME pour un patient c'est tous les autres patients qui auront la même norme.
Comment surmonter ce soucis svp?
https://drive.google.com/file/d/1T1TcYS2jJy1FAMPwXCt5ho9eMwj_wlO1/view?usp=sharing
Merci beaucoup pour votre aide.
Votre code fonctionne très bien, sauf qu'il y'a toujours un soucis:
Quand je sélectionne une NORME pour un patient c'est tous les autres patients qui auront la même norme.
Comment surmonter ce soucis svp?
https://drive.google.com/file/d/1T1TcYS2jJy1FAMPwXCt5ho9eMwj_wlO1/view?usp=sharing
Merci beaucoup pour votre aide.
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
>
said
5 nov. 2021 à 12:30
5 nov. 2021 à 12:30
Quel rapport entre ce soucis et le code?
Cela fonctionnait bien sans le code?
Cela fonctionnait bien sans le code?
Said
>
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
5 nov. 2021 à 14:35
5 nov. 2021 à 14:35
Aucun rapport. Votre code fonctionne très bien et je vous remercie pour votre aide.
Vous me suggérez quoi pour que chaque patient garde la colonne sélectionnée ?
Je dois réaliser un état pour imprimer les résultats à la demande.
Merci bien
Vous me suggérez quoi pour que chaque patient garde la colonne sélectionnée ?
Je dois réaliser un état pour imprimer les résultats à la demande.
Merci bien
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
>
Said
5 nov. 2021 à 14:39
5 nov. 2021 à 14:39
peut-être utiliser une requête qui affiche les bonnes données?
Said
>
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
6 nov. 2021 à 07:58
6 nov. 2021 à 07:58
Bonjour,
Avant de chercher un code VBA, j'ai essayer avec une requête de sélection, je n'arrivais pas à sélectionner uniquement la colonne de la valeur qui correspond à la norme sélectionnée uniquement. Même en changeant la structure de la table paramètres.
Veux-tu voir le fichier ?
Bien merci.
Avant de chercher un code VBA, j'ai essayer avec une requête de sélection, je n'arrivais pas à sélectionner uniquement la colonne de la valeur qui correspond à la norme sélectionnée uniquement. Même en changeant la structure de la table paramètres.
Veux-tu voir le fichier ?
Bien merci.
Bonsoir,
Votre code fonctionne bien avec trois valeurs.
Avec six valeurs, on peut toujours utiliser "iif"?
merci
Votre code fonctionne bien avec trois valeurs.
Avec six valeurs, on peut toujours utiliser "iif"?
merci
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
19 nov. 2021 à 22:56
19 nov. 2021 à 22:56
oui, je pense.
Said
>
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
20 nov. 2021 à 07:41
20 nov. 2021 à 07:41
j’ai essayé le code :
iif(NORMES="NORMEA",VALEURA,iif(NORMES="NORMEB",VALEURB,VALEURC, VALEURD,VALEURE,VALEURF))
ça fonctionne pas, J’ai un message d’erreur : trop d’argument….
merci
iif(NORMES="NORMEA",VALEURA,iif(NORMES="NORMEB",VALEURB,VALEURC, VALEURD,VALEURE,VALEURF))
ça fonctionne pas, J’ai un message d’erreur : trop d’argument….
merci
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
>
Said
20 nov. 2021 à 14:13
20 nov. 2021 à 14:13
comme tu l'as vu, il faut deux iif() pour trois valeurs.
commence par ajouter une quatrième valeur, qui demande d'utiliser un troisième iif().
commence par ajouter une quatrième valeur, qui demande d'utiliser un troisième iif().
Said
>
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
20 nov. 2021 à 15:59
20 nov. 2021 à 15:59
iif(NORMES="NORMEA",VALEURA,iif(NORMES="NORMEB",VALEURB,iif(NORMES="NORMEC",VALEURC,iif(NORMES="NORLED",VALEURD,iif(NORMES="NORMEE",VALEURE,VALEURF)))))
c ça ?
c ça ?
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
>
Said
20 nov. 2021 à 16:17
20 nov. 2021 à 16:17
cela donne quel résultat?
30 oct. 2021 à 21:02
Oui je veux cacher une colonne de la feuille de données.
je viens de tester Columnhidden, hélas ça fonction pas
Merci
31 oct. 2021 à 11:15
Modifié le 31 oct. 2021 à 17:00
Avec plaisir, juste il faut que je trouve comment le partager.
Je suis nouveau ici.
Je vais voir ça rapidement.
C'est vraiment gentil.
Si tu veux même le recevoir par email?
Voici le mien:
***@***
Merci
31 oct. 2021 à 17:10
1 nov. 2021 à 16:57
https://drive.google.com/file/d/1g5R-0tjmWaB5jCL56xll5x4OHyPSHkXl/view?usp=sharing
merci bien