supinfo
Ouverture de  SUPINFO USA à San Francisco en 2008. Des études en informatique en Californie à un tarif abordable ! Inscrivez-vous dès maintenant !
supinfo
Connexion :

Recherche

  
   Tout| Actus| Télécharger| Comparateur de prix| Dossiers| Forums| Jeux| Google

1 message
ok

[VBA excel] liste deroulante a nom variable

:) hello
un petit souci sous VBA excel, en fait c est plutot un gros puisque ca fait plusieurs jours q je m arrach les cheveux dessus sans trouver la solution. voici ma bete noire :
j ai cree un programme qui permet de creer une liste deroulante
en gros sous excel ca marche comme ca :
- je selectionne ma ligne de donnes (dans la premiere colonne j ai un code, et les colonnes suivantes sont les differents noms de zone auquel le code peut appartenir)
-je defini alors une liste dont le nom est automatiquement la premiere colonne (insert/name/define desolee excel v. ang), la reference de la liste sera les 5 cellules suivantes
- dans une autre feuille, je selectionne la cellule dans laquelle je veu creer ma liste et je fais data/validation
- dans le menu qui apparait, onglets parametres : allow list et je choisis comme source la liste q j ai cree juste avant: insert/name/paste
- je n oublie pas de cocher d ignorer les cellules vides puisque chaque code n appartient pas forcement a 5 zones.
vous me suivez toujour?
alors je me di chouette ca va etre facile sous vba, eh ben non car le nom de la liste q je cree a chque nouvelle ligne change (c est le contenu de ma premiere cellule) et impossible de trouver comment faire. je vous montre la partie epineuse du prog :



(a as string, i as integer)
For i = 2 To 1345
Workbooks("Modele for new program").Worksheets("result").Activate
Rows(i).Select
a = Cells(i, 1).Value
ActiveWorkbook.Names.Add Name:=a
, RefersToR1C1:= _
"=result!R2C2:R2C256"
Sheets("final").Select
Cells(i, 2).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=AB21_1BB"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Next i

(en rouge ce qui bloque)
j ai essaye de changer plusieurs fois la syntaxe mais sans jamais trouver
de plus, meme en choisissant d ignorer les blancs, ils apparaissent qd meme dans ma liste...
alors si vous avez une petite solution, merci de m aider! :hello:
 
 
 
1 message
ok
 
Vous devez être connecté pour écrire un message !
 

 Sujets Similaires:


 
Clubic.com
 
Achetez-facile.com
 
Jeuxvideo.fr
 
neteco.com
 
mobinaute.com