Bonjour,
Pour exposer brièvement mon projet, je réalise un fichier Excel doté de 6 types de convertisseur spécifique à mon besoin.
Dans la feuil1, j’ai déclaré une procédure « Private Sub Worksheet_Change(ByVal Target As Range) dans laquelle je vérifie si la saisie des variables est conforme, et si c’est le cas et en fonction de ce qui a déjà été traité ou non, VBA exécute un certain nombre d’ordre de mise en forme des cellules, affichage des résultats…
Au total, il y a 140 If et ElseIf confondu. VBA affiche le message d’erreur suivant : erreur de compilation : procédure trop longue.
Vraisemblablement, une procédure VBA est limitée quant au nombre de test. Il c’est mis à « genoux » alors qu’il me reste encore une moitié de cas à traiter !
Question :
Dans le même objet « Feuil1 », il n’est pas possible d’ouvrir deux ou plusieurs « Private Sub Worksheet_Change(ByVal Target As Range) qui m'aurait permis de traiter les différents convertisseur au cas par cas. Et de simples fonction « routines » du type Sub blabla () end Sub ne correspondent pas au besoin.
Quelle solution proposez-vous pour contourner cet obstacle ?
D’avance merci pour votre réponse,
A plus
Pour exposer brièvement mon projet, je réalise un fichier Excel doté de 6 types de convertisseur spécifique à mon besoin.
Dans la feuil1, j’ai déclaré une procédure « Private Sub Worksheet_Change(ByVal Target As Range) dans laquelle je vérifie si la saisie des variables est conforme, et si c’est le cas et en fonction de ce qui a déjà été traité ou non, VBA exécute un certain nombre d’ordre de mise en forme des cellules, affichage des résultats…
Au total, il y a 140 If et ElseIf confondu. VBA affiche le message d’erreur suivant : erreur de compilation : procédure trop longue.
Vraisemblablement, une procédure VBA est limitée quant au nombre de test. Il c’est mis à « genoux » alors qu’il me reste encore une moitié de cas à traiter !
Question :
Dans le même objet « Feuil1 », il n’est pas possible d’ouvrir deux ou plusieurs « Private Sub Worksheet_Change(ByVal Target As Range) qui m'aurait permis de traiter les différents convertisseur au cas par cas. Et de simples fonction « routines » du type Sub blabla () end Sub ne correspondent pas au besoin.
Quelle solution proposez-vous pour contourner cet obstacle ?
D’avance merci pour votre réponse,
A plus