VBA paramétrer conditions IF

Tirou

XLDnaute Occasionnel
Bonjour le forum,

Mon problème n'est pas (encore) d'actualité, je n'ai donc pas de fichier exemple.
Je pousse un peu la réflexion sur l'optimisation de mes codes VBA (tant en temps d’exécution qu'en redondance de code) Le problème que je vous soumet est d'ordre théorique.

Imaginons que nous avons N conditions sur N variables (1 par condition) qui peuvent prendre P valeurs. Comment imbriquer ces N conditions sans avoir un code à ralonge?

Mon idée première est d'effectuer un Select Case sur la condition 1, dans chacune des P cases, refaire un select sur la condition 2 etc etc etc

Malheureusement, cela devient très vite ingérable (on a au final N^P possibilités). Voyez-vous une manière plus simple d'écrire ? (je présume que la simplification passera par le regroupement des branches de l'arbre de possibilité mais bon, qui ne tente rien ... )
 

Dranreb

XLDnaute Barbatruc
Re : VBA paramétrer conditions IF

Bonjour.
Il y a intérêt, je pense à établir une table de correspondance entre les combinaisons de valeurs possibles et les décisions à appliquer. Mais ça dépend de trop de facteurs sur la nature des cas pour pouvoir généraliser ça et dire si l'utilisation (rare) d'un On NDéci GoSub Étiq1, Étiq2, etc. est indiqué…
Ça dépend aussi de la décision: Si c'est juste un groupe de certaines valeurs à appliquer toujours aux mêmes éléments, la table de correspondance conviendrait d'autant mieux. Les Dictionary peuvent aussi jouer un rôle. Savez vous qu'on peu les imbriquer ? Un Item d'un Dictionary peut en effet lui même être un Dictionary.
 
Dernière édition:

Tirou

XLDnaute Occasionnel
Re : VBA paramétrer conditions IF

Je garde tes 2 idées en tête :

j'imagine que la table de correspondance est du type un tableau N dimensions sur P valeurs, et à chaque case du tableau, renvoyé à une partie du code, ce qui permet de regrouper facilement des groupes de cas disparates nécessitant le même traitement.

Je connaissais les tableaux de tableaux, mais pas les dictionnaires de dictionnaires ... Pour l'instant, mon attrait des dicos se résume à la gestion simple et rapide des doublons pour un retraitement ... il va falloir que je creuse.

En tout cas, merci de tes réponses qui m'aiguillent déjà :)
 

Statistiques des forums

Discussions
312 240
Messages
2 086 514
Membres
103 239
dernier inscrit
wari