Bonjour,
je souhaite mettre une liste de données avec le nom des feuilles actuelles.
Ca fonctionne à la condition d'utiliser "selection" impossible d'utiliser ma variable passée en paramètre.
Appel
Procedure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim Rng As Range Set Rng = Range("C2:C" & Range("C65000").End(xlUp).Row) Call CreationListeValidationNomOnglet(Rng) Set Rng = Nothing
Pourriez-vous me dire ce qui ce va pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub CreationListeValidationNomOnglet(Rng As Range) Dim sh Dim Feuil As String '--- Liste des feuilles actuelles Feuil = "" 'Initialise For Each sh In ActiveWorkbook.Sheets Feuil = Feuil & "," & sh.Name Next sh Feuil = Mid(Feuil, 2) 'Elimine le premier séparateur '--- Place la liste dans la liste de validation 'Affectation sur la plage Rng 'Debug.Print Rng.Address >>> c'est OK 'Rng.Select >> test pour provoquer une "selection" 'DoEvents >> test 'temporisation" With Selection.Validation '>>> Ne fonctionne pas avec Rng '.Delete .Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:=Feuil End With End Sub
Merci.
ESVBA
Partager