Prb Liste deroulante

Le
Thierry
Bonjour,

J'ai une liste déroulante que je peux mettre à jour par macro. Lorsque je
mets a jour cette liste le remplissage de la zone tempon est bon car je
l'affiche à l'écran avant le remplissage ds un MsgBox. De plus j'ai le même
algorithme lors de la création de cette liste déroulante et cela se passe
très bien. La seule différence c'est que lors de la création je fais un
Clear de la colonne.

La mise à jour de la liste déroulante dans la céllule est :

MsgBox ("valeur ") & temp
For j = Plig + 2 To Dlig
Cells(j, (Pcol - 1)).Validation.Delete
Cells(j, (Pcol - 1)).Validation.Add xlValidateList,
Formula1:=Left(temp, Len(temp) - 1)
Next j

Y a t'il une erreur ?

Merci.






Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 13:58:24
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com
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
FFO
Le #4550591
Salut Thierry

Je suis étonné par ta méthode pour mettre à jour une liste déroulante
Lorsque je met en place une liste déroulante je lui donne un nom ainsi qu'un
ensemble de cellule auquel elle se rapporte exemple :

Insertion/Nom/Définir
Nom de ma liste dans Noms dans le classeur : Liste
Les cellules rattachées dans fait référence à : þuil3!$C$1:$C$1000

Puis dans les cellules où je souhaite réaliser la liste déroulante pour
chaque cellule:
Données/Validation
Dans validation des données
Autoriser : Liste
Source : Liste

J'ai ainsi ma liste déroulante pour ces cellules

Si je veux changer la liste j'agit directement dans les cellules sources
Feuil3!$C$1:$C$1000 programmées à la base (voir ci-dessus) que j'adapte en
modifiant chacune d'entre elle voir toutes
Ce qui a pour effet de modifier la liste déroulante des cellules qui l'utilise
Le seul cas où je dois intervenir dans une formule c'est pour étendre la
liste:
fait référence à : þuil3!$C$1:$C$1000 (Insertion/Nom/Définir)
devient pour 100 articles de plus
fait référence à : þuil3!$C$1:$C$1100

Pour éviter cet handicape il suffit de prendre un nombre de cellules
suffisamment important pour répondre à toute éventualité

Voilà ma methode

Peux tu t'en inspirer ???


Bonjour,

J'ai une liste déroulante que je peux mettre à jour par macro. Lorsque je
mets a jour cette liste le remplissage de la zone tempon est bon car je
l'affiche à l'écran avant le remplissage ds un MsgBox. De plus j'ai le même
algorithme lors de la création de cette liste déroulante et cela se passe
très bien. La seule différence c'est que lors de la création je fais un
Clear de la colonne.

La mise à jour de la liste déroulante dans la céllule est :

MsgBox ("valeur ") & temp
For j = Plig + 2 To Dlig
Cells(j, (Pcol - 1)).Validation.Delete
Cells(j, (Pcol - 1)).Validation.Add xlValidateList,
Formula1:=Left(temp, Len(temp) - 1)
Next j

Y a t'il une erreur ?

Merci.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 13:58:24
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






Jacky
Le #4944911
Bonjour,
devient pour 100 articles de plus
Pour éviter cet handicape il suffit de prendre un nombre de cellules
suffisamment important pour répondre à toute éventualité
fait référence à : þuil3!$C$1:$C$1100


OU
fait référence à :
ÞCALER(Feuil3!$C$1;;;NBVAL(Feuil2!$C:$C))
Ceci pour le rendre les rajouts automatique
--
Salutations
JJ



"FFO"
Salut Thierry

Je suis étonné par ta méthode pour mettre à jour une liste déroulante
Lorsque je met en place une liste déroulante je lui donne un nom ainsi
qu'un
ensemble de cellule auquel elle se rapporte exemple :

Insertion/Nom/Définir
Nom de ma liste dans Noms dans le classeur : Liste
Les cellules rattachées dans fait référence à : þuil3!$C$1:$C$1000

Puis dans les cellules où je souhaite réaliser la liste déroulante pour
chaque cellule:
Données/Validation
Dans validation des données
Autoriser : Liste
Source : Liste

J'ai ainsi ma liste déroulante pour ces cellules

Si je veux changer la liste j'agit directement dans les cellules sources
Feuil3!$C$1:$C$1000 programmées à la base (voir ci-dessus) que j'adapte en
modifiant chacune d'entre elle voir toutes
Ce qui a pour effet de modifier la liste déroulante des cellules qui
l'utilise
Le seul cas où je dois intervenir dans une formule c'est pour étendre la
liste:
fait référence à : þuil3!$C$1:$C$1000 (Insertion/Nom/Définir)
devient pour 100 articles de plus
fait référence à : þuil3!$C$1:$C$1100

Pour éviter cet handicape il suffit de prendre un nombre de cellules
suffisamment important pour répondre à toute éventualité

Voilà ma methode

Peux tu t'en inspirer ???


Bonjour,

J'ai une liste déroulante que je peux mettre à jour par macro. Lorsque je
mets a jour cette liste le remplissage de la zone tempon est bon car je
l'affiche à l'écran avant le remplissage ds un MsgBox. De plus j'ai le
même
algorithme lors de la création de cette liste déroulante et cela se passe
très bien. La seule différence c'est que lors de la création je fais un
Clear de la colonne.

La mise à jour de la liste déroulante dans la céllule est :

MsgBox ("valeur ") & temp
For j = Plig + 2 To Dlig
Cells(j, (Pcol - 1)).Validation.Delete
Cells(j, (Pcol - 1)).Validation.Add xlValidateList,
Formula1:=Left(temp, Len(temp) - 1)
Next j

Y a t'il une erreur ?

Merci.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 13:58:24
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com








Thierry
Le #4944791
est il possible de rentrer ces formule par macro vba et si oui comment ?
imaginon que le contenu de ma liste se trouve feuille paramètres colonne i
et que je veux entrer

la formule feuille janvier colonne a1 ?


"Jacky" Omx%
Bonjour,
devient pour 100 articles de plus
Pour éviter cet handicape il suffit de prendre un nombre de cellules
suffisamment important pour répondre à toute éventualité
fait référence à : þuil3!$C$1:$C$1100


OU
fait référence à :
ÞCALER(Feuil3!$C$1;;;NBVAL(Feuil2!$C:$C))
Ceci pour le rendre les rajouts automatique
--
Salutations
JJ



"FFO"
Salut Thierry

Je suis étonné par ta méthode pour mettre à jour une liste déroulante
Lorsque je met en place une liste déroulante je lui donne un nom ainsi
qu'un
ensemble de cellule auquel elle se rapporte exemple :

Insertion/Nom/Définir
Nom de ma liste dans Noms dans le classeur : Liste
Les cellules rattachées dans fait référence à : þuil3!$C$1:$C$1000

Puis dans les cellules où je souhaite réaliser la liste déroulante pour
chaque cellule:
Données/Validation
Dans validation des données
Autoriser : Liste
Source : Liste

J'ai ainsi ma liste déroulante pour ces cellules

Si je veux changer la liste j'agit directement dans les cellules sources
Feuil3!$C$1:$C$1000 programmées à la base (voir ci-dessus) que j'adapte
en
modifiant chacune d'entre elle voir toutes
Ce qui a pour effet de modifier la liste déroulante des cellules qui
l'utilise
Le seul cas où je dois intervenir dans une formule c'est pour étendre la
liste:
fait référence à : þuil3!$C$1:$C$1000 (Insertion/Nom/Définir)
devient pour 100 articles de plus
fait référence à : þuil3!$C$1:$C$1100

Pour éviter cet handicape il suffit de prendre un nombre de cellules
suffisamment important pour répondre à toute éventualité

Voilà ma methode

Peux tu t'en inspirer ???


Bonjour,

J'ai une liste déroulante que je peux mettre à jour par macro. Lorsque
je
mets a jour cette liste le remplissage de la zone tempon est bon car je
l'affiche à l'écran avant le remplissage ds un MsgBox. De plus j'ai le
même
algorithme lors de la création de cette liste déroulante et cela se
passe
très bien. La seule différence c'est que lors de la création je fais un
Clear de la colonne.

La mise à jour de la liste déroulante dans la céllule est :

MsgBox ("valeur ") & temp
For j = Plig + 2 To Dlig
Cells(j, (Pcol - 1)).Validation.Delete
Cells(j, (Pcol - 1)).Validation.Add xlValidateList,
Formula1:=Left(temp, Len(temp) - 1)
Next j

Y a t'il une erreur ?

Merci.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 13:58:24
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com










---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 17:17:15
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com








---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 17:21:43
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com



Jacky
Le #4944681
Bonjour,
Ceci peut-être:
Prend compte que la liste qui sera nommée "liste" commence à la cellule I1
de la feuille paramètre, si elle devait commencer en I2, il faudra
remplacer:
RefersToR1C1:="=OFFSET(paramètre!R1C9,,,COUNTA(paramètre!C9))"
par
RefersToR1C1:="=OFFSET(paramètre!R2C9,,,COUNTA(paramètre!C9)-1)"
'-----------
Sub jj()
With Sheets("paramètre").Range("i1:i" & [i65536].End(3).Row)
ActiveWorkbook.Names.Add Name:="Liste",
RefersToR1C1:="=OFFSET(paramètre!R1C9,,,COUNTA(paramètre!C9))"
End With
With Sheets("janvier").[a1].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:=xlBetween, Formula1:="=Liste"
End With
End Sub
'----------

N'oublie pas, que l'enregistreur de macro fait cela très bien ;o)
Attention aux coupures de lignes

--
Salutations
JJ



"Thierry" ew%
est il possible de rentrer ces formule par macro vba et si oui comment ?
imaginon que le contenu de ma liste se trouve feuille paramètres colonne i
et que je veux entrer

la formule feuille janvier colonne a1 ?




Jacky
Le #4943971
Re...
Un peu plus épurer
'----------
Sub jj()
With Sheets("paramètre")
ActiveWorkbook.Names.Add Name:="Liste",
RefersTo:="=OFFSET(paramètre!$i$1,,,COUNTA(paramètre!$i:$i))"
End With
With Sheets("janvier").[a1].Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=Liste"
End With
End Sub
'---------

--
Salutations
JJ



"Thierry" ew%
est il possible de rentrer ces formule par macro vba et si oui comment ?
imaginon que le contenu de ma liste se trouve feuille paramètres colonne i
et que je veux entrer

la formule feuille janvier colonne a1 ?



Thierry
Le #4572441
Je viens de trouver Désolé pour bug

En effet la variable Dlig n'était pas initialisée.......

Mille excuses
"Thierry"
Bonjour,

J'ai une liste déroulante que je peux mettre à jour par macro. Lorsque je
mets a jour cette liste le remplissage de la zone tempon est bon car je
l'affiche à l'écran avant le remplissage ds un MsgBox. De plus j'ai le
même
algorithme lors de la création de cette liste déroulante et cela se passe
très bien. La seule différence c'est que lors de la création je fais un
Clear de la colonne.

La mise à jour de la liste déroulante dans la céllule est :

MsgBox ("valeur ") & temp
For j = Plig + 2 To Dlig
Cells(j, (Pcol - 1)).Validation.Delete
Cells(j, (Pcol - 1)).Validation.Add xlValidateList,
Formula1:=Left(temp, Len(temp) - 1)
Next j

Y a t'il une erreur ?

Merci.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 13:58:24
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com





---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 29/05/2007 15:39:37
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com








---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000746-0, 30/05/2007
Analyse le : 30/05/2007 17:54:19
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com

Thierry
Le #4565541
Merci pour l'info
Voilà j'ai utiliser ton info comme cela :

ActiveWorkbook.Names.Add Name:="Liste" & j,
RefersTo:="=offset(choix2,1,match(Cells(" & j & ", " & k &
"),choix1,0)-1,counta(offset(choix2,,match(Cells(" & j & ", " & k &
"),choix1,0)-1))-1)"

et cela me donne entre autre cette forme :

ÞCALER(choix2;1;EQUIV(Cells(12;
3);choix1;0)-1;NBVAL(DECALER(choix2;;EQUIV(Cells(12; 3);choix1;0)-1))-1)

toutes les virgules sont des points virgules est ce que c'est pour cela que
mon add plante ?

"Jacky"
Re...
Un peu plus épurer
'----------
Sub jj()
With Sheets("paramètre")
ActiveWorkbook.Names.Add Name:="Liste",
RefersTo:="=OFFSET(paramètre!$i$1,,,COUNTA(paramètre!$i:$i))"
End With
With Sheets("janvier").[a1].Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=Liste"
End With
End Sub
'---------

--
Salutations
JJ



"Thierry" ew%
est il possible de rentrer ces formule par macro vba et si oui comment ?
imaginon que le contenu de ma liste se trouve feuille paramètres colonne
i et que je veux entrer

la formule feuille janvier colonne a1 ?






---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000745-2, 29/05/2007
Analyse le : 30/05/2007 06:49:04
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com








---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000746-1, 31/05/2007
Analyse le : 01/06/2007 11:39:24
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com


Publicité
Poster une réponse
Anonyme