Proposer Liste d'une autre feuille...

Dolichotis

XLDnaute Occasionnel
Bonjour,

j'ai un problème : je voudrais proposer une liste de mots d'une feuille List dans une feuille Mno (dans le même classeur)
Les listes sont définies dans le classeur mais dépendent de la variable TypeC.
Mais bien évidemment ça plante. (à formula1)

Ma question est donc : est-ce la syntaxe qui est mauvaise ? Ou est-ce que ça n'est pas possible ? Puis-je mettre autre chose à la place de Formula1 qui serait plus simple ?

Code:
Set Tc = wsList.Range("3:3").Find(wsMno.Cells(Lig, 12).Value, LookIn:=xlValues, LookAt:=xlWhole) 'trouver type référence dans Liste
TypeC = wsMno.Range("L" & Lig)
Set wsList = ActiveSheet 'Liste Type

        If ((wsList.Cells(6, Tc.Column).Value <> "")) Then
            wsMno.Activate
            wsMno.Range("Q" & Lig).Select
            With Selection.Validation 'liste pour chaque cellule de la colonne Q
                .Delete
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, [COLOR="Red"]Formula1:="=" & wbMno.Name & "!" & TypeC & "_type"[/COLOR]
            End With
         end if

Merci pour vos prochaines réponses !
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Proposer Liste d'une autre feuille...

Bonjour,

La formule définissant dans une feuille "A" une validation par liste ne peut pas comporter une référence d'une feuille "B".

Dans la feuille "B" où se trouve la liste, il faut donner à la liste un nom (menu Insertion-Nom), par exemple "plage", et pour la formule de validation en feuille "A" écrire : =plage

Réutilisez l'enregistreur de macro pour définir le nom.

A+
 

Dolichotis

XLDnaute Occasionnel
Re : Proposer Liste d'une autre feuille...

Bonjour Job,

Merci pour ta réponse ! Mes listes sont toutes définies par la manière que tu décris. (forme_type, dimension_type etc)

On ne peut donc pas proposer d'une feuille différente d'où se trouverait les listes ? Même si les listes sont définies sur tout le classeur ?

J'avais essayé avec l'enregistreur de macros, il m'avait dit que ces actions n'étaient pas possibles avec l'enregistreur de macros.

Il faut donc que je trouve une autre manière...?
Est-ce qu'on peut remplacer formula1 par autre chose ?
 

pierrejean

XLDnaute Barbatruc
Re : Proposer Liste d'une autre feuille...

bonjour Dolichotis

pour completer les dires de job75 (que je salue)

pour nommer une plage en vba (exemple Feuil2 range("B3:B14")

Code:
ActiveWorkbook.Names.Add Name:="plage", RefersToLocal:="=Feuil2!$B$3:$B$14"

et pour supprimer

Code:
ActiveWorkbook.Names("plage").Delete
 

Dolichotis

XLDnaute Occasionnel
Re : Proposer Liste d'une autre feuille...

Bonjour pierrejean,
Re Job

Je l'ai écrit comme tu l'as indiqué et ça marche bien ! Merci à toi !

Pierrejean, merci pour ton code pour définir une plage. Ce matin, je me demandais à quoi servait .names (par rapport à .name), comme je n'ai pas l'aide VBA.

(Je vais maintenant si c'est possible de proposer une liste à partir d'un autre classeur ouvert, mais j'en doute...)


Merci à tous les deux ! Il suffisait de connaitre la syntaxe !
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry