Liste déroulante avec conditions dans une macro

Le
Maïa
Bonjour,

Je souhaite créer via une macro une première liste déroulante en
colonne F puis une deuxième en colonne G. La première liste déroulante=

est une liste déroulante classique faisant appel à une plage de
cellule nommée. Pour la seconde liste, je souhaiterais que la liste de
choix qui s'affiche dans la cellule soit conditionnée par le choix
fait en colonne F.

Manuellement j'arrive à créer cette liste déroulante avec condition en=

tapant la formule suivante dans Données/Validation/données source :

=SI(F2="CREMEUX";CREMEUX;AUTRES) où CREMEUX et AUTRES sont deux plages=

de cellules nommées.

Je suis passée par l'enregistreur VB pour avoir accès au code
correspondant et j'obiens ça :

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=SI(F2=""CREMEUX"";CREMEUX;AUTRES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Mon problème c'est que je souhaiterais que la référence F2 présente
dans la formule soit une référence en RC ou une référence que je
puisse coder avec des variables ligne et colonne et non une référence
figée.

Quelqu'un a-t-il une piste pour créer cette liste avec conditions dans
une macro ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5178461
Bonjour.
Sans l'avoir testé,
Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
If [A1] = "" Then
Cells(1, 1) = Me.TextBox1.Value
Else
Cells([A65536].End(xlUp).Row + 1, 1) = _
Me.TextBox1.Value
End If
Unload Me
Else
MsgBox "Erreur de saisie"
End If
End Sub

"Maïa"
Bonjour,

Je souhaite créer via une macro une première liste déroulante en
colonne F puis une deuxième en colonne G. La première liste déroulante
est une liste déroulante classique faisant appel à une plage de
cellule nommée. Pour la seconde liste, je souhaiterais que la liste de
choix qui s'affiche dans la cellule soit conditionnée par le choix
fait en colonne F.

Manuellement j'arrive à créer cette liste déroulante avec condition en
tapant la formule suivante dans Données/Validation/données source :

=SI(F2="CREMEUX";CREMEUX;AUTRES) où CREMEUX et AUTRES sont deux plages
de cellules nommées.

Je suis passée par l'enregistreur VB pour avoir accès au code
correspondant et j'obiens ça :

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=SI(F2=""CREMEUX"";CREMEUX;AUTRES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Mon problème c'est que je souhaiterais que la référence F2 présente
dans la formule soit une référence en RC ou une référence que je
puisse coder avec des variables ligne et colonne et non une référence
figée.

Quelqu'un a-t-il une piste pour créer cette liste avec conditions dans
une macro ?
Daniel.C
Le #5178451
Peste, encore une erreur de post (et de copier / coller), ça s'aggrave !
Daniel
"Maïa"
Bonjour,

Je souhaite créer via une macro une première liste déroulante en
colonne F puis une deuxième en colonne G. La première liste déroulante
est une liste déroulante classique faisant appel à une plage de
cellule nommée. Pour la seconde liste, je souhaiterais que la liste de
choix qui s'affiche dans la cellule soit conditionnée par le choix
fait en colonne F.

Manuellement j'arrive à créer cette liste déroulante avec condition en
tapant la formule suivante dans Données/Validation/données source :

=SI(F2="CREMEUX";CREMEUX;AUTRES) où CREMEUX et AUTRES sont deux plages
de cellules nommées.

Je suis passée par l'enregistreur VB pour avoir accès au code
correspondant et j'obiens ça :

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=SI(F2=""CREMEUX"";CREMEUX;AUTRES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Mon problème c'est que je souhaiterais que la référence F2 présente
dans la formule soit une référence en RC ou une référence que je
puisse coder avec des variables ligne et colonne et non une référence
figée.

Quelqu'un a-t-il une piste pour créer cette liste avec conditions dans
une macro ?
Daniel.C
Le #5178441
xlBetween, Formula1:="=SI(" & Cells(ligne, colonne) &
"=""CREMEUX"";CREMEUX;AUTRES)"
devrait faire l'affaire.
Daniel
"Maïa"
Bonjour,

Je souhaite créer via une macro une première liste déroulante en
colonne F puis une deuxième en colonne G. La première liste déroulante
est une liste déroulante classique faisant appel à une plage de
cellule nommée. Pour la seconde liste, je souhaiterais que la liste de
choix qui s'affiche dans la cellule soit conditionnée par le choix
fait en colonne F.

Manuellement j'arrive à créer cette liste déroulante avec condition en
tapant la formule suivante dans Données/Validation/données source :

=SI(F2="CREMEUX";CREMEUX;AUTRES) où CREMEUX et AUTRES sont deux plages
de cellules nommées.

Je suis passée par l'enregistreur VB pour avoir accès au code
correspondant et j'obiens ça :

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=SI(F2=""CREMEUX"";CREMEUX;AUTRES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Mon problème c'est que je souhaiterais que la référence F2 présente
dans la formule soit une référence en RC ou une référence que je
puisse coder avec des variables ligne et colonne et non une référence
figée.

Quelqu'un a-t-il une piste pour créer cette liste avec conditions dans
une macro ?
JB
Le #5178341
Bonjour,

http://cjoint.com/?ddopybi0I5

Sub xx()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=IF(" & Cells(2, 6).Address &
"=""CREMEUX"",CREMEUX,AUTRES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub


JB
On 3 mar, 11:55, "Maïa"
Bonjour,

Je souhaite créer via une macro une première liste déroulante en
colonne F puis une deuxième en colonne G. La première liste déroulan te
est une liste déroulante classique faisant appel à une plage de
cellule nommée. Pour la seconde liste, je souhaiterais que la liste de
choix qui s'affiche dans la cellule soit conditionnée par le choix
fait en colonne F.

Manuellement j'arrive à créer cette liste déroulante avec condition en
tapant la formule suivante dans Données/Validation/données source :

=SI(F2="CREMEUX";CREMEUX;AUTRES) où CREMEUX et AUTRES sont deux plag es
de cellules nommées.

Je suis passée par l'enregistreur VB pour avoir accès au code
correspondant et j'obiens ça :

    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertSto p,
Operator:= _
        xlBetween, Formula1:="=SI(F2=""CREMEUX"";CREMEUX;AUT RES)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With

Mon problème c'est que je souhaiterais que la référence F2 présent e
dans la formule soit une référence en RC ou une référence que je
puisse coder avec des variables ligne et colonne et non une référence
figée.

Quelqu'un a-t-il une piste pour créer cette liste avec conditions dans
une macro ?


JB
Le #5178331
col = 6
lig = 2
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=IF(" & Cells(lig, col).Address &
"=""CREMEUX"",CREMEUX,AUTRES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

JB

On 3 mar, 14:15, JB
Bonjour,

http://cjoint.com/?ddopybi0I5

Sub xx()
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertSto p,
Operator:= _
        xlBetween, Formula1:="=IF(" & Cells(2, 6).Address &
"=""CREMEUX"",CREMEUX,AUTRES)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

JB
On 3 mar, 11:55, "Maïa"


Bonjour,

Je souhaite créer via une macro une première liste déroulante en
colonne F puis une deuxième en colonne G. La première liste déroul ante
est une liste déroulante classique faisant appel à une plage de
cellule nommée. Pour la seconde liste, je souhaiterais que la liste de
choix qui s'affiche dans la cellule soit conditionnée par le choix
fait en colonne F.

Manuellement j'arrive à créer cette liste déroulante avec conditio n en
tapant la formule suivante dans Données/Validation/données source :

=SI(F2="CREMEUX";CREMEUX;AUTRES) où CREMEUX et AUTRES sont deux pl ages
de cellules nommées.

Je suis passée par l'enregistreur VB pour avoir accès au code
correspondant et j'obiens ça :

    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertS top,
Operator:= _
        xlBetween, Formula1:="=SI(F2=""CREMEUX"";CREMEUX;A UTRES)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With

Mon problème c'est que je souhaiterais que la référence F2 prése nte
dans la formule soit une référence en RC ou une référence que je
puisse coder avec des variables ligne et colonne et non une référenc e
figée.

Quelqu'un a-t-il une piste pour créer cette liste avec conditions dans
une macro ?- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Publicité
Poster une réponse
Anonyme