liste deroulante et macro

Le
jerem2309 Hors ligne
Bonjour,


Ayant cherché, je n'ai pas trouvé de post correspondants.
Je suis confronté à un problème : j'ai créé une liste déroulante avec le nom de sociétés clientes qui apparaît sur les factures que j'étables. Cependant lorsque sur ma feuille clients, je rajoute un client, ma liste déroulante ne le prends pas en compte Je sais qu'il serait possible de crér une liste déroulante basée sur une colonne infini (dans ce cas la, dans la liste apparaitrait des "blancs") Je voudrais savoir si la prise en compte d'un nouveau client peut se faire a partir d'une macro ? Quelle en serait alors la formule ?

Cordialement,

Jerem2309.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23929951
Bonjour,

Supposons que tu as une liste de clients dans la plage A1:A10

Pour créer une liste de validation dans une cellule, tu peux d'abord
créer une plage nommée au nom de "LISTE" et tu utilises cette formule
dans "Fait référence à" pour ce nom "liste"
ÞCALER(Feuil3!$A$1;;;NBVAL(Feuil3!$A:$A);)

Au fur et à mesure que tu vas ajouter des nouveaux clients, la liste de validation va se mettre à jour automatiquement.

Si A1 contient une étiquette de colonne, utilise plutôt cette formule:
ÞCALER(Feuil3!$A$1;1;;NBVAL(Feuil3!$A:$A);)

Évidemment, il faudra adapter le nom de la feuille. La liste dans la colonne A1:Ax ne doit pas avoir de lignes vides.



MichD
------------------------------------------
"jerem2309" a écrit dans le message de groupe de discussion :

Bonjour,


Ayant cherché, je n'ai pas trouvé de post correspondants.
Je suis confronté à un problème : j'ai créé une liste déroulante avec le nom de
sociétés clientes qui apparaît sur les factures que j'étables. Cependant lorsque
sur ma feuille clients, je rajoute un client, ma liste déroulante ne le prends
pas en compte... Je sais qu'il serait possible de crér une liste déroulante
basée sur une colonne infini (dans ce cas la, dans la liste apparaitrait des
"blancs") Je voudrais savoir si la prise en compte d'un nouveau client peut se
faire a partir d'une macro ? Quelle en serait alors la formule ?

Cordialement,

Jerem2309.
jerem2309 Hors ligne
Le #23931151
MichD a écrit le 02/11/2011 à 18h17 :
Bonjour,

Supposons que tu as une liste de clients dans la plage A1:A10

Pour créer une liste de validation dans une cellule, tu peux d'abord
créer une plage nommée au nom de "LISTE" et tu utilises
cette formule
dans "Fait référence à" pour ce nom
"liste"
ÞCALER(Feuil3!$A$1;;;NBVAL(Feuil3!$A:$A);)

Au fur et à mesure que tu vas ajouter des nouveaux clients, la liste de
validation va se mettre à jour automatiquement.

Si A1 contient une étiquette de colonne, utilise plutôt cette
formule:
ÞCALER(Feuil3!$A$1;1;;NBVAL(Feuil3!$A:$A);)

Évidemment, il faudra adapter le nom de la feuille. La liste dans la
colonne A1:Ax ne doit pas avoir de lignes vides.



MichD
------------------------------------------
"jerem2309" a écrit dans le message de groupe de discussion :


Bonjour,


Ayant cherché, je n'ai pas trouvé de post correspondants.
Je suis confronté à un problème : j'ai créé
une liste déroulante avec le nom de
sociétés clientes qui apparaît sur les factures que
j'étables. Cependant lorsque
sur ma feuille clients, je rajoute un client, ma liste déroulante ne le
prends
pas en compte... Je sais qu'il serait possible de crér une liste
déroulante
basée sur une colonne infini (dans ce cas la, dans la liste apparaitrait
des
"blancs") Je voudrais savoir si la prise en compte d'un nouveau
client peut se
faire a partir d'une macro ? Quelle en serait alors la formule ?

Cordialement,

Jerem2309.


Merci de votre réponse. Cependant je n'ai pas bien compris... Je nomme la plage "LISTE" et lorsque je fait validation des données, je dois indiquer "ÞCALER(Feuil3!$A$1;;;NBVAL(Feuil3!$A:$A);)" ?
Y'a t-il un moyen de passer par une macro autrement ?

Cordialement,

Jerem2309.
MichD
Le #23931401
| "LISTE" et lorsque je fait validation des données, je dois indiquer
| "ÞCALER(Feuil3!$A$1;;;NBVAL(Feuil3!$A:$A);)" ?
| Y'a t-il un moyen de passer par une macro autrement ?

A ) Tu crées un nom (Insertion / nom / définir si tu es sous une version précédente à Excel 2007)
Pour la version Excel 2007, 2010, Barre des menus / Formules / Section : Noms définis / Définir un nom

B ) dans la fenêtre qui s'ouvre, tu donnes un nom "Liste" (à titre d'exemple)
Dans le bas de la fenêtre : Fait référence à : Tu entres la formule : ÞCALER(Feuil3!$A$1;;;NBVAL(Feuil3!$A:$A);)
Dans mon exemple, la liste est dans la colonne A:A de A1:Ax

C ) Lorsque tu crées dans la cellule, la liste de validation, tu entres simplement = Liste


Si tu préfères en VBA, dans la feuille module de la feuille où est la liste, tu copies le code suivant :
Pour ce faire, un clic droit sur l'onglet de la feuille, commande : visualiser le code, et tu copies dans
la feuille blanche qui s'ouvre ceci : (j'ai supposé que la liste était en colonne A:A, adapte la colonne
selon celle de ton application.

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Range("A:A").Column Then
Range("A1:A" & Range("A65536").End(xlUp).Row).Name = "Liste"
End If
End Sub
'----------------------------------

Et quand tu crées ta liste déroulante dans les cellules de la feuille, tu inscris : =Liste


MichD
------------------------------------------
jerem2309 Hors ligne
Le #23947861
MichD a écrit le 03/11/2011 à 03h15 :
| "LISTE" et lorsque je fait validation des données, je dois
indiquer
| "ÞCALER(Feuil3!$A$1;;;NBVAL(Feuil3!$A:$A);)" ?
| Y'a t-il un moyen de passer par une macro autrement ?

A ) Tu crées un nom (Insertion / nom / définir si tu es sous une
version précédente à Excel 2007)
Pour la version Excel 2007, 2010, Barre des menus / Formules / Section : Noms
définis / Définir un nom

B ) dans la fenêtre qui s'ouvre, tu donnes un nom "Liste"
(à titre d'exemple)
Dans le bas de la fenêtre : Fait référence à : Tu
entres la formule : ÞCALER(Feuil3!$A$1;;;NBVAL(Feuil3!$A:$A);)
Dans mon exemple, la liste est dans la colonne A:A de A1:Ax

C ) Lorsque tu crées dans la cellule, la liste de validation, tu entres
simplement = Liste


Si tu préfères en VBA, dans la feuille module de la feuille
où est la liste, tu copies le code suivant :
Pour ce faire, un clic droit sur l'onglet de la feuille, commande : visualiser
le code, et tu copies dans
la feuille blanche qui s'ouvre ceci : (j'ai supposé que la liste
était en colonne A:A, adapte la colonne
selon celle de ton application.

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Range("A:A").Column Then
Range("A1:A" & Range("A65536").End(xlUp).Row).Name =
"Liste"
End If
End Sub
'----------------------------------

Et quand tu crées ta liste déroulante dans les cellules de la
feuille, tu inscris : =Liste


MichD
------------------------------------------


Bonjour,

En terme de macro, ca donne quoi ?
MichD
Le #23948281
Le message précédent contient déjà la macro pour créer le nom "Liste" et le mettre à jour à chaque fois que tu ajoutes une
nouvelle donnée.
La seule chose qui reste à faire est de créer la liste de validation et tu utilises =Liste


Code à mettre dans le module feuille où est la liste...
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Range("A:A").Column Then
Range("A1:A" & Range("A65536").End(xlUp).Row).Name = "Liste"
End If
End Sub
'---------------------------------


MichD
------------------------------------------
Publicité
Poster une réponse
Anonyme