faire apparaitre liste de choix avec condition

10 réponses
Avatar
fréro
bonjour
j'ai fais un classeur de suivi comptabilité dans lequel il peut être
choisi,liste de choix,le type de paiement :carte bleue,virement,ou chèque.
Dans ce dernier choix je souhaite que dans la colonne numéros de chèques ou
il y a une liste des numéros disponibles que cette liste ne soit visible que
dans ce cas.
il y a t'il une solution simple ?
par avance merci d'une suggestion
bonne AM
fréro


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com

10 réponses

Avatar
MichD
Bonjour,

Colle les 2 procédures dans le module de la feuille où
l'action se déroule.

Dans l'exemple, si ta liste est en A1, dès que tu choisis
"Cheque" la colonne B s'affiche et si tu cliques ailleurs
qu'en A1 ou en colonne B, la colonne B se masque.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
'Attention à l'orthographe et sensible à la casse
If UCase(Range("A1")) = "CHEQUE" Then
Me.Columns("B:B").EntireColumn.Hidden = False
End If
End If
Application.ScreenUpdating = True
End Sub
'-----------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Union(Range("A1"), Range("B:B"))) Is Nothing Then
Me.Columns("B:B").EntireColumn.Hidden = True
End If
End Sub
'-----------------------------

MichD
---------------------------------------------------------------
Avatar
fréro
bonjour
j'ai testé votre solution,mais je n'arrive pas a l'appliquer sur toute la
colonne A
Range("A1:A 25")) ? ça ne marche pas!
fréro
"MichD" a écrit dans le message de
news:l7nk48$3f1$
Bonjour,

Colle les 2 procédures dans le module de la feuille où
l'action se déroule.

Dans l'exemple, si ta liste est en A1, dès que tu choisis
"Cheque" la colonne B s'affiche et si tu cliques ailleurs
qu'en A1 ou en colonne B, la colonne B se masque.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
'Attention à l'orthographe et sensible à la casse
If UCase(Range("A1")) = "CHEQUE" Then
Me.Columns("B:B").EntireColumn.Hidden = False
End If
End If
Application.ScreenUpdating = True
End Sub
'-----------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Union(Range("A1"), Range("B:B"))) Is Nothing Then
Me.Columns("B:B").EntireColumn.Hidden = True
End If
End Sub
'-----------------------------

MichD
---------------------------------------------------------------





---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
fréro
"fréro" a écrit dans le message de
news:52a34d22$0$2240$
bonjour
j'ai testé votre solution,mais je n'arrive pas a l'appliquer sur toute la
colonne A
Range("A1:A 25")) ? ça ne marche pas!
fréro
"MichD" a écrit dans le message de
news:l7nk48$3f1$
Bonjour,

Colle les 2 procédures dans le module de la feuille où
l'action se déroule.

Dans l'exemple, si ta liste est en A1, dès que tu choisis
"Cheque" la colonne B s'affiche et si tu cliques ailleurs
qu'en A1 ou en colonne B, la colonne B se masque.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
'Attention à l'orthographe et sensible à la casse
If UCase(Range("A1")) = "CHEQUE" Then
Me.Columns("B:B").EntireColumn.Hidden = False
End If
End If
Application.ScreenUpdating = True
End Sub
'-----------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Union(Range("A1"), Range("B:B"))) Is Nothing Then
Me.Columns("B:B").EntireColumn.Hidden = True
End If
End Sub
'-----------------------------

MichD
---------------------------------------------------------------





---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com





---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
MichD
Bonjour,

Essaie comme ceci, à copier dans le code module
de la feuille.

'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A1:A25"))
If Not Rg Is Nothing Then
For Each c In Rg
'Attention à l'orthographe et sensible à la casse
If UCase(c) = "CHEQUE" Then
Me.Columns("B:B").EntireColumn.Hidden = False
Exit For
End If
Next
End If
Application.ScreenUpdating = True
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Union(Range("A1:A25"), Range("B:B"))) Is Nothing Then
Me.Columns("B:B").EntireColumn.Hidden = True
End If
End Sub
'--------------------------------------------

MichD
---------------------------------------------------------------
Avatar
Guido
bonsoir à vous tous

je ne sais pas si c'est le cheveux dans la soupe, mais en son temps... Un d e nos Mentor vénéré du MPFE a concocté un fichier model permettant une action dans le STYLE Format SUPER BIJOUX dans la recherche des Validati on Multiples. A chercher sur Cjoint
?0LmvyKchWpM

Encore un grand merci à AV.

A bientôt

Guido
Avatar
fréro
bonjour
merci mais le fichier Ci-joint n'est pas bien libellé
merci par avance et bonne journée
fréro


"Guido" a écrit dans le message de
news:
bonsoir à vous tous

je ne sais pas si c'est le cheveux dans la soupe, mais en son temps... Un de
nos Mentor vénéré du MPFE a concocté un fichier model permettant une action
dans le STYLE Format SUPER BIJOUX dans la recherche des Validation
Multiples. A chercher sur Cjoint
?0LmvyKchWpM

Encore un grand merci à AV.

A bientôt

Guido


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
Guido
Hello

Suffit d'appliquer au lien Cjoint.com, le code. Suffira juste de téléch arger.
Avatar
fréro
bonjour
merci
et bonne journée
fréro

"Guido" a écrit dans le message de
news:
Hello

Suffit d'appliquer au lien Cjoint.com, le code. Suffira juste de
télécharger.


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
fréro
bonjour a tous
est-ce possible de faire apparaitre une cellule (a cote du choix de
paiement )d'une cellule au lieu de la colonne pour inscrire le numéro du
cheque?
bonne journée
fréro
"MichD" a écrit dans le message de
news:l84nuo$i0a$
Bonjour,

Essaie comme ceci, à copier dans le code module
de la feuille.

'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A1:A25"))
If Not Rg Is Nothing Then
For Each c In Rg
'Attention à l'orthographe et sensible à la casse
If UCase(c) = "CHEQUE" Then
Me.Columns("B:B").EntireColumn.Hidden = False
Exit For
End If
Next
End If
Application.ScreenUpdating = True
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Union(Range("A1:A25"), Range("B:B"))) Is Nothing Then
Me.Columns("B:B").EntireColumn.Hidden = True
End If
End Sub
'--------------------------------------------

MichD
---------------------------------------------------------------





---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
MichD
Lorsqu'une colonne est masquée comme dans ton exemple
pour ce qui est de la colonne B, on ne peut pas afficher
seulement une cellule de cette colonne. Tu affiches toute
la colonne où tu masques toute la colonne.

Cependant pour inscrire par exemple le montant de la facture dans
la cellule où tu inscris "chèque", tu peux adapter la procédure comme
ceci. Nul besoin d'afficher la colonne pour ce faire...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, X As Variant
Set Rg = Intersect(Target, Range("A1:A25"))
If Not Rg Is Nothing Then
For Each c In Rg
'Attention à l'orthographe et sensible à la casse
If UCase(c) = "CHEQUE" Then
Me.Columns("B:B").EntireColumn.Hidden = False
X = Application.InputBox(Prompt:="Inscriver " & _
"le montant de la facture.", Type:=1)
If X = False Then Exit For
If IsNumeric(X) Then
Application.EnableEvents = False
c.Offset(, 1) = X
Application.EnableEvents = True
End If
Exit For
End If
Next
End If
Application.ScreenUpdating = True
End Sub


MichD
---------------------------------------------------------------