Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Cacher colonnes

6 réponses
Avatar
ArthurAccroc
Je souhaite dans un formulaire afficher ou ne pas afficher certaines
colonnes d'un sous formulaire.

Pour cela je voudrais dans mon formulaire créer une zone de liste à
sélection multiple, qui listera la liste des colonnes disponibles dans le
sous formulaire.

L'utilisateur pourra grâce à la zone de liste ne visualiser que les
colonnes qui l'intéresse.

Quelqu'un connaît les fonctions à utiliser ?

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

Le rowsource de ta liste doit contenit la liste des contrôles texte de ton
sous-formulaire. lorsque tu sélectionnes un champ dans ta liste tu mets le
contrôle du sous-formulaire en visible True ou False selon tes besoins.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"ArthurAccroc" a écrit dans le message de
news:br2g80$ht6$
Je souhaite dans un formulaire afficher ou ne pas afficher certaines
colonnes d'un sous formulaire.

Pour cela je voudrais dans mon formulaire créer une zone de liste à
sélection multiple, qui listera la liste des colonnes disponibles dans le
sous formulaire.

L'utilisateur pourra grâce à la zone de liste ne visualiser que les
colonnes qui l'intéresse.

Quelqu'un connaît les fonctions à utiliser ?


Avatar
Toucan
Ok pour le premier point => avec la propriété "liste de champs" de la zone
de liste j'ai réussi à lister les champs de la requête source de mon
sous-formulaire.

Sur l'événement "après mise à jour" de la zone de liste je vais pouvoir
évaluer quel son les numéro des "items" sélectionnés.

Par contre comment faire pour cacher la colonne numéro 5 de mon
sous-formulaire.

Je m'explique :
- les valeurs retournés par ma zone de liste sont : item 2, item 5 et item 8
sélectionnés.
- il faut donc cacher les colonnes 2, 5 et 8 du sous formulaire

Pour utiliser ColumnHidden il me faut le nom du contrôle alors que moi je
récupère son numéro.

Au secours !


"Raymond [mvp]" a écrit dans le message news:
O$zd$
Bonsoir.

Le rowsource de ta liste doit contenit la liste des contrôles texte de ton
sous-formulaire. lorsque tu sélectionnes un champ dans ta liste tu mets
le

contrôle du sous-formulaire en visible True ou False selon tes besoins.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"ArthurAccroc" a écrit dans le message de
news:br2g80$ht6$
Je souhaite dans un formulaire afficher ou ne pas afficher certaines
colonnes d'un sous formulaire.

Pour cela je voudrais dans mon formulaire créer une zone de liste à
sélection multiple, qui listera la liste des colonnes disponibles dans
le


sous formulaire.

L'utilisateur pourra grâce à la zone de liste ne visualiser que les
colonnes qui l'intéresse.

Quelqu'un connaît les fonctions à utiliser ?






Avatar
Raymond [mvp]
Bonjour.

Je m'explique :
- les valeurs retournés par ma zone de liste sont : item 2, item 5 et item
8

sélectionnés.
- il faut donc cacher les colonnes 2, 5 et 8 du sous formulaire

Pour utiliser ColumnHidden il me faut le nom du contrôle alors que moi je
récupère son numéro.


tu récupères le nom par Column:
exemple simple:
Dim X As Variant
For Each X In Me.Liste1.ItemsSelected
MsgBox Me!Liste1.Column(0, X)
Next I

Me!Liste1.Column(0, X) te donne la donnée contenue dans la colonne 0 ligne X

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Toucan" a écrit dans le message de
news:br4ba2$f9$
Ok pour le premier point => avec la propriété "liste de champs" de la zone
de liste j'ai réussi à lister les champs de la requête source de mon
sous-formulaire.

Sur l'événement "après mise à jour" de la zone de liste je vais pouvoir
évaluer quel son les numéro des "items" sélectionnés.

Par contre comment faire pour cacher la colonne numéro 5 de mon
sous-formulaire.

Je m'explique :
- les valeurs retournés par ma zone de liste sont : item 2, item 5 et item
8

sélectionnés.
- il faut donc cacher les colonnes 2, 5 et 8 du sous formulaire

Pour utiliser ColumnHidden il me faut le nom du contrôle alors que moi je
récupère son numéro.


Avatar
Toucan
Je ne trouve pas la syntaxe pour faire quelquechose dans le genre


Dim X As Variant
For Each X In Me.Liste1.ItemsSelected
===> Me.Liste1!X.ColumnHidden = -1
Next X

Sans doute simple, mais je trouve pas la solution dans l'historique du
forum.

Dans tous les cas merci pour l'aide jusqu'ici.


"Raymond [mvp]" a écrit dans le message news:

Bonjour.

Je m'explique :
- les valeurs retournés par ma zone de liste sont : item 2, item 5 et
item


8
sélectionnés.
- il faut donc cacher les colonnes 2, 5 et 8 du sous formulaire

Pour utiliser ColumnHidden il me faut le nom du contrôle alors que moi
je


récupère son numéro.


tu récupères le nom par Column:
exemple simple:
Dim X As Variant
For Each X In Me.Liste1.ItemsSelected
MsgBox Me!Liste1.Column(0, X)
Next I

Me!Liste1.Column(0, X) te donne la donnée contenue dans la colonne 0 ligne
X


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Toucan" a écrit dans le message de
news:br4ba2$f9$
Ok pour le premier point => avec la propriété "liste de champs" de la
zone


de liste j'ai réussi à lister les champs de la requête source de mon
sous-formulaire.

Sur l'événement "après mise à jour" de la zone de liste je vais pouvoir
évaluer quel son les numéro des "items" sélectionnés.

Par contre comment faire pour cacher la colonne numéro 5 de mon
sous-formulaire.

Je m'explique :
- les valeurs retournés par ma zone de liste sont : item 2, item 5 et
item


8
sélectionnés.
- il faut donc cacher les colonnes 2, 5 et 8 du sous formulaire

Pour utiliser ColumnHidden il me faut le nom du contrôle alors que moi
je


récupère son numéro.






Avatar
Toucan
J'arrive a concaténer la commande désirée mais pas à la lancer

Dim X As Variant
Dim YYY as String

For Each X In Me.Liste1.ItemsSelected
YYY = "Forms!NomForm!" & me!liste1.column(0, X) & ".ColumnHidden = -1"

Next X

Je pense que je dois créer une fonction sur le modèle du code concaténé sur
YYY mais je sais pas faire.


"Toucan" a écrit dans le message news:
br4khm$6eo$
Je ne trouve pas la syntaxe pour faire quelquechose dans le genre


Dim X As Variant
For Each X In Me.Liste1.ItemsSelected
===> Me.Liste1!X.ColumnHidden = -1
Next X

Sans doute simple, mais je trouve pas la solution dans l'historique du
forum.

Dans tous les cas merci pour l'aide jusqu'ici.


"Raymond [mvp]" a écrit dans le message news:

Bonjour.

Je m'explique :
- les valeurs retournés par ma zone de liste sont : item 2, item 5 et
item


8
sélectionnés.
- il faut donc cacher les colonnes 2, 5 et 8 du sous formulaire

Pour utiliser ColumnHidden il me faut le nom du contrôle alors que moi
je


récupère son numéro.


tu récupères le nom par Column:
exemple simple:
Dim X As Variant
For Each X In Me.Liste1.ItemsSelected
MsgBox Me!Liste1.Column(0, X)
Next I

Me!Liste1.Column(0, X) te donne la donnée contenue dans la colonne 0
ligne


X

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Toucan" a écrit dans le message de
news:br4ba2$f9$
Ok pour le premier point => avec la propriété "liste de champs" de la
zone


de liste j'ai réussi à lister les champs de la requête source de mon
sous-formulaire.

Sur l'événement "après mise à jour" de la zone de liste je vais
pouvoir



évaluer quel son les numéro des "items" sélectionnés.

Par contre comment faire pour cacher la colonne numéro 5 de mon
sous-formulaire.

Je m'explique :
- les valeurs retournés par ma zone de liste sont : item 2, item 5 et
item


8
sélectionnés.
- il faut donc cacher les colonnes 2, 5 et 8 du sous formulaire

Pour utiliser ColumnHidden il me faut le nom du contrôle alors que moi
je


récupère son numéro.










Avatar
Raymond [mvp]
L'exemple étatit pour te faire comprendre le mécanisme.
pour cacher la colonne
Me.Controls(Me!Liste1.Column(0, X)).ColumnHidden = False

ce qui devrait donner pour toi:
Dim X As Variant
For Each X In Me.Liste1.ItemsSelected
Me.Sous_Formulaire.Form.Controls(Me!Liste1.Column(0, x)).ColumnHidden
= False
Next I

tu ajustes à tes noms. ( tapé direct, fonction non testée, vérifie bien)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Toucan" a écrit dans le message de
news:br4khm$6eo$
Je ne trouve pas la syntaxe pour faire quelquechose dans le genre


Dim X As Variant
For Each X In Me.Liste1.ItemsSelected
===> Me.Liste1!X.ColumnHidden = -1
Next X

Sans doute simple, mais je trouve pas la solution dans l'historique du
forum.

Dans tous les cas merci pour l'aide jusqu'ici.