Macro creation de liste de donnes qui viennent d une autre feuille

  • Initiateur de la discussion Initiateur de la discussion tomtom57280
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tomtom57280

XLDnaute Nouveau
Bonjour a tous

actuellement je travail sur un classeur dont je souhaite créer par macro des listes déroulante en "G4" sur la feuille "01 M" a partir de données en feuille "TYPES DEFAUT" des cellules de B1 a B22.
N`étant pas un grand expert je récupère toujours les macro sur internet et j’essaye de les adapter mais la je sèche.
voila ce que j ai fait actuellement:

Sheets("01 M")
ActiveSheet.Range("G4").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="TYPES DEFAUT"=$B$1:$B$22"

Malheureusement le mode débogage ne m aiguille pas du tout sur mes erreurs

Un super héro pourrez me dire ou j ai fait des fautes , je remercie d avance tous ceux qui me répondrons.

Cordialement Thomas
 
Bonjour tomtom57280, bienvenue su XLD,
VB:
With Sheets("01 M").Range("G4").Validation
    .Delete
    .Add xlValidateList, Formula1:="='TYPES DEFAUT'!$B$1:$B$22"
End With
ou encore :
VB:
Sheets("TYPES DEFAUT").Range("B1:B22").Name = "Liste" 'plage nommée
With Sheets("01 M").Range("G4").Validation
    .Delete
    .Add xlValidateList, Formula1:="=Liste"
End With
A+
 
Re @tomtom57280,
pourquoi ces 3 virgule sans rien écrire dedans ?

Exemple pour Validation.add. Si on regarde l'aide Excel, on trouve:
Syntaxe


expression.Add(Type, AlertStyle, Operator, Formula1, Formula2)



expression Variable qui représente un objet Validation.


Paramètres


NomObligatoire/FacultatifType de donnéesDescription
TypeObligatoireXlDVTypeType de validation.
AlertStyleFacultatifVarianteStyle d'alerte de validation. Il peut s'agir de l'une des constantes Lien supprimé suivantes : xlValidAlertInformation, xlValidAlertStop ou xlValidAlertWarning.
OperatorFacultatifVarianteOpérateur de validation des données. Il peut s'agir de l'une des constantes Lien supprimé suivantes : xlBetween, xlEqual, xlGreater, xlGreaterEqual, xlLess, xlLessEqual, xlNotBetween ou xlNotEqual.
Formula1FacultatifVarianteLa première partie de l'équation de validation des données.
Formula2FacultatifVarianteLa deuxième partie de la validation des données, lorsque Opérateur est xlBetweenxlBetween ou xlNotBetweenxlNotBetween (sinon, cet argument est ignoré).

On mentionne les arguments en respectant leur position dans la définition de la fonction:
Le paramètre 1 Type est obligatoire donc je le mentionne
Les paramètres 2 et 3 (AlertStyle et Operator) sont facultatifs et ne m'intéressent pas donc je n'indique rien à leurs positions
Le paramètre Formula1 est facultattif mais dans mon cas je dois le définir (c'est l'adresse de la liste)
Le paramètre Formula2 est facultatif et ne m’intéresse pas donc je ne le mentionne pas (on s'en dispense complètement car c'est le dernier)
On a donc la syntaxe:
.Add Type, AlertStyle, Operator,Formula1, Formula2

Avec ce que j'ai dit plus haut, on obtient :
.Add Type, , ,Formula1 => d’où mon code


On pouvait aussi utiliser les paramètres nommés. Dans ce cas, on ne mentionne que les paramètres qui nous sont utiles et l'ordre n'a pas d’importance.
.Add Type:=xlValidateList, Formula1:="=Liste"

Astuce: Comme Type est le premier paramètre dans la liste des paramètres, on peut omettre d'écrire Type:= et on aboutit à l'écriture de job75:
.Add xlValidateList, Formula1:="='TYPES DEFAUT'!$B$1:$B$22"
 
Re @tomtom57280,


Exemple pour Validation.add. Si on regarde l'aide Excel, on trouve:


On mentionne les arguments en respectant leur position dans la définition de la fonction:
Le paramètre 1 Type est obligatoire donc je le mentionne
Les paramètres 2 et 3 (AlertStyle et Operator) sont facultatifs et ne m'intéressent pas donc je n'indique rien à leurs positions
Le paramètre Formula1 est facultattif mais dans mon cas je dois le définir (c'est l'adresse de la liste)
Le paramètre Formula2 est facultatif et ne m’intéresse pas donc je ne le mentionne pas (on s'en dispense complètement car c'est le dernier)
On a donc la syntaxe:
.Add Type, AlertStyle, Operator,Formula1, Formula2

Avec ce que j'ai dit plus haut, on obtient :
.Add Type, , ,Formula1 => d’où mon code


On pouvait aussi utiliser les paramètres nommés. Dans ce cas, on ne mentionne que les paramètres qui nous sont utiles et l'ordre n'a pas d’importance.
.Add Type:=xlValidateList, Formula1:="=Liste"

Astuce: Comme Type est le premier paramètre dans la liste des paramètres, on peut omettre d'écrire Type:= et on aboutit à l'écriture de job75:
.Add xlValidateList, Formula1:="='TYPES DEFAUT'!$B$1:$B$22"
je te remerci bcp pour ton explicqtion je viens dapprendre pas mal de chose grace a toi!!!!! 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour