Gestionnaire des noms
Résolu
mchotard
Messages postés
491
Statut
Membre
-
Mike-31 Messages postés 19571 Statut Contributeur -
Mike-31 Messages postés 19571 Statut Contributeur -
Bonjour à vous tous.
J'ai une liste de noms qui me sert pour ma liste déroulante de la validation des données dans une userform que j'ai nommé "NOM" dans le gestionnaire des noms et qui correspond au cellule A1: A25
Si je rajoute deux noms, il faut penser aller modifier le gestionnaire de noms pour qu'il les prenne en compte et que la référence devienne A1: A27.
Est-t-il possible de créer une macro pour automatiser cette mise à jour et l'inclure dans une autre macro que j'utilise.
Suis-je clair ?
Merci
J'ai une liste de noms qui me sert pour ma liste déroulante de la validation des données dans une userform que j'ai nommé "NOM" dans le gestionnaire des noms et qui correspond au cellule A1: A25
Si je rajoute deux noms, il faut penser aller modifier le gestionnaire de noms pour qu'il les prenne en compte et que la référence devienne A1: A27.
Est-t-il possible de créer une macro pour automatiser cette mise à jour et l'inclure dans une autre macro que j'utilise.
Suis-je clair ?
Merci
A voir également:
- Excel gestionnaire de nom
- Liste déroulante excel - Guide
- Gestionnaire de périphérique - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
8 réponses
Bonjour,
Tu n'as pas besoin de créer une macro pour cela, à partir du gestionnaire de noms, tu nomme ton champ exemple nom et tu veux faire référence à une plage exemple Feuil1 cellule de A1 à A dernière valeur
la formule du à saisir dans le gestionnaire est
=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A))
et ta liste de validation s'adaptera automatiquement
Tu n'as pas besoin de créer une macro pour cela, à partir du gestionnaire de noms, tu nomme ton champ exemple nom et tu veux faire référence à une plage exemple Feuil1 cellule de A1 à A dernière valeur
la formule du à saisir dans le gestionnaire est
=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A))
et ta liste de validation s'adaptera automatiquement
Bonjour
Pour éviter ça, insérer les cellules à l'intérieur de votre liste les adresses de la liste suivront
Pour éviter ça, insérer les cellules à l'intérieur de votre liste les adresses de la liste suivront
Merci les amis
MIKE-31, ta solution est super. Puis-je te demander pourquoi il faut ;;;. Et est-ce que cette formule peut s'adapter à n'importe quelle référence de cellule dans une macro.
merci aussi à Philoi10120
A+
Cdlt
MIKE-31, ta solution est super. Puis-je te demander pourquoi il faut ;;;. Et est-ce que cette formule peut s'adapter à n'importe quelle référence de cellule dans une macro.
merci aussi à Philoi10120
A+
Cdlt
MIKE et les utares re salut
excuse moi de te déranger à nouveau. D'une part je viens en propulsant les aide excel de comprendre pourquoi on met ;;; dans la formule que tu viens de me proposer.
J'aurais une autre demande
Comment puis je remplacer les référence "A2:A34" dans la formule ci dessous pour que les nouvelles lignes insérer dans mon tableau puisse être pris en compte systématiquement dans mon tri.
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range( _
"A2:A34"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
Merci si tu peux encore m'ider
CDLT
excuse moi de te déranger à nouveau. D'une part je viens en propulsant les aide excel de comprendre pourquoi on met ;;; dans la formule que tu viens de me proposer.
J'aurais une autre demande
Comment puis je remplacer les référence "A2:A34" dans la formule ci dessous pour que les nouvelles lignes insérer dans mon tableau puisse être pris en compte systématiquement dans mon tri.
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range( _
"A2:A34"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
Merci si tu peux encore m'ider
CDLT
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Si on prend pour la liste "nom" comme proposé par Mike-31
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range( _
"nom"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
Si on prend pour la liste "nom" comme proposé par Mike-31
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range( _
"nom"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
Re,
Ne te complique pas , fait comme cela
Worksheets("Feuil1").Range("A2:A" & Range("A65536").End(xlUp).Row).Sort Key1:=Range("A2")
explique ce que tu as trouvé comme explication sur le trois ;;; voir si c'est ça
Ne te complique pas , fait comme cela
Worksheets("Feuil1").Range("A2:A" & Range("A65536").End(xlUp).Row).Sort Key1:=Range("A2")
explique ce que tu as trouvé comme explication sur le trois ;;; voir si c'est ça
MIKE-31
Merci
mon cher maître voilà ce que j'ai cru comprendre
si je mets ;1;2; je vais décaler d'une ligne et de 2 colonnes
en mettant;0;0; ou tout simplement ;;; je reste sur la même colonne.
ai-je 20/20
merci pour tout et a+
Merci
mon cher maître voilà ce que j'ai cru comprendre
si je mets ;1;2; je vais décaler d'une ligne et de 2 colonnes
en mettant;0;0; ou tout simplement ;;; je reste sur la même colonne.
ai-je 20/20
merci pour tout et a+
Re,
oui c'est cela, en fait il n'y a pas de déplacement on reste sur la même cellule.
entre le premier ; et le second ; désigne la ligne et entre le second et le troisième ; désigne la colonne ;;;
en fait pour tester la fonction saisi une valeur dans chaque cellule d'une plage en A1 à D10
dans une cellule exemple en F5 écrit celle formule
=DECALER(Feuil1!$A$1;;;)
puis change les valeurs entre les ;
comme
=DECALER(Feuil1!$A$1;2;1;)
etc ...
et regarde la valeur que te retourne la formule
=NBVAL(Feuil1!$A:$A) retourne le nombre de valeur dans la colonne
si tu as des valeurs jusqu'à la cellule A10, =NBVAL(Feuil1!$A:$A) retournera 10
le résultat obtenu par la formule est donc A1:A NBVAL(Feuil1!$A:$A) en clair A1:A10
si tu colle cette formule dans une cellule de la première ligne
=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A))
et incrémente là vers les bas
la formule te retournera la valeur qui se trouve sur la même ligne colonne A et se mettra en erreur lorsqu'elle rencontrera une cellule vide en colonne A et retournera #VALEUR!
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
oui c'est cela, en fait il n'y a pas de déplacement on reste sur la même cellule.
entre le premier ; et le second ; désigne la ligne et entre le second et le troisième ; désigne la colonne ;;;
en fait pour tester la fonction saisi une valeur dans chaque cellule d'une plage en A1 à D10
dans une cellule exemple en F5 écrit celle formule
=DECALER(Feuil1!$A$1;;;)
puis change les valeurs entre les ;
comme
=DECALER(Feuil1!$A$1;2;1;)
etc ...
et regarde la valeur que te retourne la formule
=NBVAL(Feuil1!$A:$A) retourne le nombre de valeur dans la colonne
si tu as des valeurs jusqu'à la cellule A10, =NBVAL(Feuil1!$A:$A) retournera 10
le résultat obtenu par la formule est donc A1:A NBVAL(Feuil1!$A:$A) en clair A1:A10
si tu colle cette formule dans une cellule de la première ligne
=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A))
et incrémente là vers les bas
la formule te retournera la valeur qui se trouve sur la même ligne colonne A et se mettra en erreur lorsqu'elle rencontrera une cellule vide en colonne A et retournera #VALEUR!
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.