Récupération valeur liste déroulante et affichage d'un texte
Sly
-
Sly -
Sly -
Bonjour,
Je suis en train de faire une base de données avec des listes déroulantes, malheureusement, autant en Excel j'arrive pas trop mal à me débrouiller, autant en Access, je pédale dans le taboulé.
J'ai fait une base de données avec 2 listes déroulantes, la seconde dépendant de la première, et je voulais faire en sorte que si on choisissait quelques valeurs sur la liste déroulante (5 sur 45 environ), un message texte (ou une msgbox) apparaisse pour nous avertir que nous utilisons un modèle spécial.
Actuellement, j'en étais à ça :
Je suis sur excel 2003 et 2010 (j'ai dû alterner pour contourner des problèmes), mais là, c'est tout con, mais je n'arrive pas à dire "Si tu trouves 3738 dans la liste cmbCategories, affiche la zone de texte caché, sinon ne fais rien"...
En vous remerciant d'avance pour votre aide,
Sly
Je suis en train de faire une base de données avec des listes déroulantes, malheureusement, autant en Excel j'arrive pas trop mal à me débrouiller, autant en Access, je pédale dans le taboulé.
J'ai fait une base de données avec 2 listes déroulantes, la seconde dépendant de la première, et je voulais faire en sorte que si on choisissait quelques valeurs sur la liste déroulante (5 sur 45 environ), un message texte (ou une msgbox) apparaisse pour nous avertir que nous utilisons un modèle spécial.
Actuellement, j'en étais à ça :
Private Sub cmbCategories_AfterUpdate() Dim lngIDCat As Long Dim SQL As String ' Pour faire adapter la seconde liste déroulante à la première If Not IsNumeric(Me!cmbCategories) Then Exit Sub lngIDCat = Me!cmbCategories SQL = "SELECT IDPart, Part, IDCategorie FROM TBLParts WHERE IDCategorie =" & lngIDCat & " ORDER BY Part" cmbParts.RowSource = SQL cmbParts.Enabled = True cmbParts.SetFocus cmbParts.Dropdown 'Ca c'était pour un test de message box Dim MonCtl As Control Dim Element As Variant Set MonCtl = Forms!FRLTest!cmbCategories For Each Element In MonCtl.ItemsSelected MsgBox MonCtl.Column(0, Element) Next 'Et ça pour un texte (nommé platine) à afficher lorsque l'on sélectionne 3738. 'If Me.cmbCategories = "3738" Then 'Me.Platine.Visible = True 'Else 'Me.Platine.Visible = False 'MsgBox "Votre référence est en platine" 'End If End Sub
Je suis sur excel 2003 et 2010 (j'ai dû alterner pour contourner des problèmes), mais là, c'est tout con, mais je n'arrive pas à dire "Si tu trouves 3738 dans la liste cmbCategories, affiche la zone de texte caché, sinon ne fais rien"...
En vous remerciant d'avance pour votre aide,
Sly
A voir également:
- Récupération valeur liste déroulante et affichage d'un texte
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Convertisseur récupération de texte - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Formule excel si contient texte alors valeur ✓ - Forum Excel
2 réponses
Bonjour,
pourquoi ces lignes sont en commentaire
'If Me.cmbCategories = "3738" Then
'Me.Platine.Visible = True
'Else
'Me.Platine.Visible = False
'MsgBox "Votre référence est en platine"
'End If
pourquoi ces lignes sont en commentaire
'If Me.cmbCategories = "3738" Then
'Me.Platine.Visible = True
'Else
'Me.Platine.Visible = False
'MsgBox "Votre référence est en platine"
'End If
Bonjour
Je ne sais si c'est cela que tu recherches mais voila un exemple sur les listes deroulantes multicriteres.
Tu choisis dans la liste 1, elle donne reponse dans la liste 2, tu choisis dans la liste 2, reponse dans la liste 3
https://www.cjoint.com/c/CEEwRSADzXQ
Je ne sais si c'est cela que tu recherches mais voila un exemple sur les listes deroulantes multicriteres.
Tu choisis dans la liste 1, elle donne reponse dans la liste 2, tu choisis dans la liste 2, reponse dans la liste 3
https://www.cjoint.com/c/CEEwRSADzXQ
Et en plus les nombres ne doivent pas mis entre guillemets, (If Me.cmbCategories = "3738" )
Et en plus tu écris
Pour les lignes en commentaire, c'est parce que j'ai oublié d'enlever le commentaire, mais globalement, c'était pour montrer 1 des deux exemples que j'ai essayés.
Sinon pour Tessel, j'ai voulu les mettre en numérique, mais ma base de données comporte des données numériques ET textuelles dans la même base. Je peux avoir comme ici "3738" et "3738 rhabillage" par exemple.
La question est de forme.
Tu dis : "ma base de données comporte des données numériques ET textuelles dans la même base. " (Peu importe, ce n'est pas le problème.)
Et tu écris dans ton code: " Alors il faut que tu comprennes que si cmbCategories prend la valeur "3738 rhabillage" Access considèrera que c'est du texte et sortira immédiatement. Par contre si cmbCategories prend la valeur "3738" il devra la considérer comme Numeric et de ce fait cette valeur ne devra pas être comparée à une valeur de type texte mais numérique et devra être écrite sans les guillemets.
Mais globalement, là n'était pas la question (vu que la première partie de mon code fonctionne), la question était surtout pour la deuxième, qui disait que si on trouvait une certaine valeur dans la première colonne -la fameuse "If Not IsNumeric", une zone de texte devienne visible, et si elle ne la trouve pas, qu'elle reste invisible.
(PS : Merci de m'aider, et désolé de répondre tardivement, n'ayant Access qu'au travail, je n'ai pas pu tester des solutions pour faire avancer mon fichier.)