VBA : Gestion d'erreur ?!?

virgie

XLDnaute Occasionnel
Bonjour à tous,

Comme je suis une grande débutante en VBA, j'aurais bien besoin de vos conseils avisés (voire même de vos solutions avisées :rolleyes:)...

Voici mon problème :
Lorsque j'ai une ligne vide dans mon tableau, j'ai un message qui arrive "erreur n°13 ..." avec possibilité de débogage : ce qui est normal puisque mon code ne prévoit pas les lignes vides.
Ce qui m'ennuie, c'est que je ne voudrais pas que les utilisateurs aient ce message-là mais un autre qui leur signale qu'une ligne est vide.
J'ai donc élaboré le code suivant (qui ne fonctionne pas bien entendu)

Sub Erreurs()
On Error GoTo 0
On Error GoTo Ligne_vide
Exit Sub
Ligne_vide:
MsgBox " Erreur d'exécution : Une ligne du tableau est vide. Cliquez sur OK puis remplissez la ligne vide. "
Resume Next
End Sub


Quelqu'un aurait-il la gentillesse de m'aider à comprendre ce qui cloche dans ce code ???
Merci d'avance.
A vous lire...

PS: Je sais bien que ce n'est pas très malin d'envoyer un code faux, mais j'ai vraiment besoin de comprendre où sont mes erreurs.
 

Pièces jointes

  • VB.zip
    47.2 KB · Affichages: 77
  • VB.zip
    47.2 KB · Affichages: 65
  • VB.zip
    47.2 KB · Affichages: 62
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : VBA : Gestion d'erreur ?!?

Bonjour,

regarde ceci :
Code:
Sub Erreurs()
On Error GoTo Ligne_vide
Range("A").Value = 123
Exit Sub
Ligne_vide:
MsgBox " Erreur d'exécution : Une ligne du tableau est vide. Cliquez sur OK puis remplissez la ligne vide. "
End Sub

maintenant il est peut être préférable d'éviter l'erreur et de faire un test... A voir...

bonne journée
@+
 

virgie

XLDnaute Occasionnel
Re : VBA : Gestion d'erreur ?!?

Bonjour Pierrot93, le Forum
Malheureusement, le code que tu m'as envoyé ne fonctionne pas quand je le souhaite :
Lorsque je lance la macro dans l'onglet développeur, j'ai bien le message de la msgbox, mais dès que je saisis des données en dessous d'une ligne blanche, il m'envoie le message de débogage (celui-là même que je souhaitais court-circuiter avec celui de ma msgbox).
Je m'interroge tout de même : que veut dire "Range("A").Value = 123" ? C'est peut-être cette partie qui n'était pas adaptée (étant donné que tu n'as pas vu l'ensemble de mon fichier...qui est énorme au demeurant)
Si tu peux m'aider Pierrot93 ou si quelqu'un a une autre idee ??
Merci.
A vous lire
 

Pierrot93

XLDnaute Barbatruc
Re : VBA : Gestion d'erreur ?!?

Re, bonjour Jean-Marcel

Je m'interroge tout de même : que veut dire "Range("A").Value = 123" ?

cette instruction est erronée et renvoie une erreur, utilisée afin que tu puisses tester... maintenant tout dépend comment ceci est utilisé dans ton code... sans plus de détail difficile pour moi de t'en dire plus....
 

virgie

XLDnaute Occasionnel
Re : VBA : Gestion d'erreur ?!?

Pierrot93, Jean-Marcel, Hippolite, le Forum,

Pour pouvoir vous éclairer sur mon problème, j'ai ajouté à mon message d'origine 1 morceau de mon fichier. (désolée, du coup il est pas top et certaines formules renvoient #ref, mais c pas tres important l'essentiel étant de réduire le fichier au minimum pour pouvoir l'envoyer sur le forum...).

Il y a donc 2 codes :
- le premier remplit la feuille BDD
- le second devait m'envoyer un message d'erreur.

Mon problème est donc toujours le même. Sauf que je me suis rendue compte que ce n'est pas que quand la ligne est vide que ca plante ... c'est aussi quand il y a une faute de frappe dans la date (du style 15/02/2011/). DONC... je préfèrerais effectivement qu'il n'y est pas d'erreur ...

En espérant que vous pourrez me venir en aide.
Merci.
A vous lire.
 
Dernière édition:

virgie

XLDnaute Occasionnel
Re : VBA : Gestion d'erreur ?!?

Bonjour Jean-Marcel, et bonjour à tous,
La macro que tu m'as transmise fonctionne très bien et je t'en remercie !
Je ne pourrais pas trop t'expliquer comment fonctionnait la macro d'origine puisqu'il s'agit dans les grandes lignes d'une macro qu'un XLDnaute m'avait concocté, et mes connaissances étant limitées, je ne l'ai pas trop retouché...
Il devient vraiment urgent que je me documente sur le sujet "VBA" : je ne sais pas ce qu'est une formule de recopie et je ne vois pas de test ... ;oD
Merci encore.
Si tu as l'occasion de me donner quelques explications sur cette macro, je sui preneuse bien entendu !!
A te lire.
 

Statistiques des forums

Discussions
312 321
Messages
2 087 259
Membres
103 498
dernier inscrit
FAHDE