Code VBA : Message d'erreur personnel

Bonjour,

Dans le fichier ci-joint, il arrive exceptionnellement - après qu’on ait introduit des données illogiques et avec certaines constellations seulement - que le message « Erreur d’exécution ‘13’ : Incompatibilité de type » apparaisse.

Le code reste alors normalement bloqué sur

If Target.Value > Sheets("Calculs mensuels").Range("E34") Then ' afin ……

Dans un tel cas, la seule chose que je désirerais serait qu’un message personnel apparaisse à la place de celui indiqué ci-dessus, message dans lequel je pourrais indiquer un truc du genre «Vous avez vraiment été trop loin dans des essais aberrants, veuillez refermer ce fichier sans l’enregistrer et recommencer à zéro ».

Savez-vous comment il faut s’y prendre ?

Bonnes salutations.

Bonjour,

Fais un test comme ceci :

Dans le code, juste avant la ligne incriminée mets cette instruction :

On error goto fin

Ensuite juste avant END SUB mets ces deux instructions :

Exit Sub
fin:  MsgBox "Vous avez vraiment été trop loin dans des essais aberrants..."

A te relire

Dan

Salut Dan,

Merci pour ton message.

Il me semble que j'ai bien respecté tes instructions - selon le fichier ci-joint - mais il y a un problème ; le message se déclenche maintenant à tout va !

As-tu une idée de ce que je dois corriger ?

A te relire.

Bonjour

Pour ton dernier message

le message se déclenche maintenant à tout va !

tu as oublié le Exit Sub avant le fin: MsgBox ......

Pour ton premier message

« Erreur d’exécution ‘13’ : Incompatibilité de type »

Je n'ai pas pu reproduire l'erreur

A suivre

Bonne journée

Merci Banzai pour ton info. Honte à moi de n’avoir pas mieux contrôlé tout ça !

Une erreur peut peut-être déclenchée de diverses manières. J’espère qu’avec ce code je couvre toutes les possibilités.

Dans le fichier ci-joint, le code a été corrigé et le message privé voulu apparaît bien lorsque l’on créé une erreur.

Voici par exemple une constellation qui en provoque une :

Inscrire le 01.02.2011 en B1

Le 1.5.1921 en B2 (Ne pas tenir compte des informations qui apparaissent)

1'000 en B10

A l’ouverture de la InputBox, inscrire un chiffre plus élevé que 0

Corriger en B9 le 0 par un chiffre plus élevé que 0

Le message privé voulu apparait. Youppie !

Pensez-vous que toutes les erreurs possibles sont ainsi couvertes ?

Cordialement.

re,

Honte à moi de n’avoir pas mieux contrôlé tout ça !

Lol ! je t'avais pourtant bien donné le code correct dans mon message...

Pour les erreurs je ne vois rien de gênant à priori mais c'est à l'utilisation suivant les différents de cas de figure que tu peux le voir. Pas facile c'est sûr

Un correctif que je ferais --> plutôt que de mettre Flag = False après ActiveSheet.Protect ....., mets FLAG = FALSE juste avant EXIT SUB

Amicalement

Je voulais bien entendu dire : "Honte à moi de n'avoir pas mieux contrôlé mon copier-coller" ! J'ai bien vu par la suite que ton code était parfait

Merci encore pour ton dernier conseil au sujet de Flag. Je vais modifier ça.

Bonnes salutations.

Rechercher des sujets similaires à "code vba message erreur personnel"