J'ai créé un classeur permettant de gérer 3 niveaux de validations par
liste, en utilisant select case, avec 10 choix possibles chaque fois.
Il fonctionne bien, et j'envisageais de le proposer à misange, mais...
...le code est un peu lourd (110 case), et mon niveau ne me permet
pas -encore- de mettre au point les boucles que je pressens pour optimiser
le code.
L'un d'entre vous serait-il intéressé, pour m'aider à finaliser ce classeur
?
http://cjoint.com/?cmrCzhRIpC
Chacune de vos critiques et/ou suggestions sera la bienvenue.
Set Plage = Cells(17, (Asc(Range("B2")) - Asc("A")) * 2 + 1) Set Plage = Plage.Resize(Plage.End(xlDown).Row - Plage.Row + 1,1) redéfinisse la zone sur toute la colonne, bien qu'il y ait, comme dans
l'exemple, des cellules vides.
-- Bien amicordialement, P. Bastard
Merci, *Yoyo*
Il semble bien que
Set Plage = Cells(17, (Asc(Range("B2")) - Asc("A")) * 2 + 1)
Set Plage = Plage.Resize(Plage.End(xlDown).Row - Plage.Row + 1,1)
redéfinisse la zone sur toute la colonne, bien qu'il y ait, comme dans
Set Plage = Cells(17, (Asc(Range("B2")) - Asc("A")) * 2 + 1) Set Plage = Plage.Resize(Plage.End(xlDown).Row - Plage.Row + 1,1) redéfinisse la zone sur toute la colonne, bien qu'il y ait, comme dans
l'exemple, des cellules vides.
-- Bien amicordialement, P. Bastard
Yoyo
Patrick,
Tu as presque réussi à me faire douter ;-) En partant d'une cellule non vide, CelluleDébut.End(xlDown) représente la dernière cellule non vide en partant de CelluleDébut.
Amicalement Yoyo
"Patrick BASTARD" a écrit dans le message de news:%
Merci, *Yoyo*
Il semble bien que
Set Plage = Cells(17, (Asc(Range("B2")) - Asc("A")) * 2 + 1) Set Plage = Plage.Resize(Plage.End(xlDown).Row - Plage.Row + 1,1) redéfinisse la zone sur toute la colonne, bien qu'il y ait, comme dans
l'exemple, des cellules vides.
-- Bien amicordialement, P. Bastard
Patrick,
Tu as presque réussi à me faire douter ;-)
En partant d'une cellule non vide, CelluleDébut.End(xlDown) représente la
dernière cellule non vide en partant de CelluleDébut.
Amicalement
Yoyo
"Patrick BASTARD" <pasdespambastardp@freepasdespam.fr> a écrit dans le
message de news:%236ymfVLMGHA.3104@TK2MSFTNGP11.phx.gbl...
Merci, *Yoyo*
Il semble bien que
Set Plage = Cells(17, (Asc(Range("B2")) - Asc("A")) * 2 + 1)
Set Plage = Plage.Resize(Plage.End(xlDown).Row - Plage.Row + 1,1)
redéfinisse la zone sur toute la colonne, bien qu'il y ait, comme dans
Tu as presque réussi à me faire douter ;-) En partant d'une cellule non vide, CelluleDébut.End(xlDown) représente la dernière cellule non vide en partant de CelluleDébut.
Amicalement Yoyo
"Patrick BASTARD" a écrit dans le message de news:%
Merci, *Yoyo*
Il semble bien que
Set Plage = Cells(17, (Asc(Range("B2")) - Asc("A")) * 2 + 1) Set Plage = Plage.Resize(Plage.End(xlDown).Row - Plage.Row + 1,1) redéfinisse la zone sur toute la colonne, bien qu'il y ait, comme dans