merci! Denis mais la base est sous cette forme et c'est un extration (requete),
ID Nom 1 a 1 b 2 c 2 d 2 e 3 f
dommage... isabelle
Le 2016-03-01 17:28, MichD a écrit :
Dans ta plage de cellules, tu ne peux pas ajouter une cellule vide au début de la plage de cellule servant de plage nommée?
MichD
MichD
Une manière de fonctionner par une petite procédure. La chaîne de caractères d'une liste de validation a un nombre de caractères limites. Est-ce plus que 256? Je n'ai pas ce chiffre...
'--------------------------------------------------- Sub test() Dim X As String, Rg As Range
'Déterminer où sont les valeurs de la liste de validation With Feuil1 Set Rg = .Range("E1:E5") End With
'Suppression des listes de validation dans la plage de cellules. Rg.Validation.Delete
'Pour insérer un espace comme premier élément d'une liste de validation 'On doit utiliser le caractère 160, cela ne fonctionne pas avec 32 X = Chr(160) & ","
'J'ai supposé que le résultat de la requête se trouvait dans la plage 'D1:D5
With Feuil1 For a = 1 To 5 X = X & Range("D" & a).Value & "," Next End With 'enlever la virgule à la fin de la chaîne de caractères X X = Left(X, Len(X) - 1)
'Créer la liste de validation, le reste des propriétés à définir... With Rg.Validation .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="" & X & "" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
End Sub '---------------------------------------------------
Une manière de fonctionner par une petite procédure.
La chaîne de caractères d'une liste de validation a
un nombre de caractères limites. Est-ce plus que 256?
Je n'ai pas ce chiffre...
'---------------------------------------------------
Sub test()
Dim X As String, Rg As Range
'Déterminer où sont les valeurs de la liste de validation
With Feuil1
Set Rg = .Range("E1:E5")
End With
'Suppression des listes de validation dans la plage de cellules.
Rg.Validation.Delete
'Pour insérer un espace comme premier élément d'une liste de validation
'On doit utiliser le caractère 160, cela ne fonctionne pas avec 32
X = Chr(160) & ","
'J'ai supposé que le résultat de la requête se trouvait dans la plage
'D1:D5
With Feuil1
For a = 1 To 5
X = X & Range("D" & a).Value & ","
Next
End With
'enlever la virgule à la fin de la chaîne de caractères X
X = Left(X, Len(X) - 1)
'Créer la liste de validation, le reste des propriétés à définir...
With Rg.Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="" & X & ""
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
'---------------------------------------------------
Une manière de fonctionner par une petite procédure. La chaîne de caractères d'une liste de validation a un nombre de caractères limites. Est-ce plus que 256? Je n'ai pas ce chiffre...
'--------------------------------------------------- Sub test() Dim X As String, Rg As Range
'Déterminer où sont les valeurs de la liste de validation With Feuil1 Set Rg = .Range("E1:E5") End With
'Suppression des listes de validation dans la plage de cellules. Rg.Validation.Delete
'Pour insérer un espace comme premier élément d'une liste de validation 'On doit utiliser le caractère 160, cela ne fonctionne pas avec 32 X = Chr(160) & ","
'J'ai supposé que le résultat de la requête se trouvait dans la plage 'D1:D5
With Feuil1 For a = 1 To 5 X = X & Range("D" & a).Value & "," Next End With 'enlever la virgule à la fin de la chaîne de caractères X X = Left(X, Len(X) - 1)
'Créer la liste de validation, le reste des propriétés à définir... With Rg.Validation .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="" & X & "" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
End Sub '---------------------------------------------------