XL 2016 VBA – erreur de compilation : procédure trop longue

Hub

XLDnaute Occasionnel
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
 

Jam

XLDnaute Accro
Bonjour,
Au total, il y a 140 If et ElseIf confondu. VBA affiche le message d’erreur suivant : erreur de compilation : procédure trop longue.
A plus

Salut Hub,

En général quand je lis autant de variations dans un code c'est qu'il existe probablement un autre moyen de le faire. Par exemple, ne suffirait-il pas de décomposer les tests en différentes sous procédures que tu irais appeler en fonction des besoins et pas en cherchant à les imbriquer toutes ? Ma toute petite aide s'arrêtera là, car "avec un fichier c'est mieux" :D surtout dans ton cas.

Bon courage
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Erreur VBA
Réponses
2
Affichages
250

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2