Excel 2007 vba message d'erreur

Fermé
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 - 7 août 2010 à 15:03
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 13 août 2010 à 15:56
Bonjour,

Je souhaiterais modifier le message d'erreur lors de l'exécution d'une macro sous excel (enfin sa non-execution du coup).

J'ai trouvé ça pour le moment :

Sub lamacro()
On Error GoTo Erreur
...
Exit Sub
Erreur:
MsgBox ("Veuillez taper un autre nom pour le produit ou le fournisseur recherché." & vbNewLine & "Celui que vous avez saisi n'existe pas en magasin.")
end sub

Donc ça me modifie le message d'erreur nickel. Mais lorsque l'erreur survient c'est que les lignes 2 à 516 sont masquées par un filtre automatique qui ne trouve pas la valeur recherchée.
Est-il possible de rajouter quelque chose comme ça dans la gestion de l'erreur ?

Rows("1:517").EntireRow.AutoFit

(ou alors la remise à zéro du filtre automatique avec : ActiveSheet.Range("$A$1:$C$481").AutoFilter Field:=1 )

On aurait :
Déroulement de la macro
Erreur
Message d'erreur
Recalibrage des lignes
Sortie de la macro

Merci pour votre aide!!

Beeloobop
A voir également:

4 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
7 août 2010 à 15:52
Bonjour,
Et pourquoi pas réafficher toutes les lignes avant la question ?.
Rows("1:517").Hidden = False

A+
0
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 11
7 août 2010 à 15:56
Ben j'ai déjà essayé avec le autofit et je viens de l'essayer avec ta formule (on sait jamais, le langage ordi est impénétrable).
Que je les mette avant ou après le msgbox ça ne change rien. Excel m'affiche la boite de dialogue avec le nouveau message d'erreur mais ne prend pas en compte les actions qui sont placées avant ou après ce msgbox...
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 7/08/2010 à 16:17
J'ai pas mis avant le message mais avant la question !
Edit : Comment la question est posée ?
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 11
13 août 2010 à 11:33
Bonjour,

Désolée pour cette longue absence, gros problème informatique chez moi.
Avant la question... Je me demande de quelle question tu parles.

La question du message d'erreur? Si c'est ça, le message d'erreur arrangé à ma sauce, ne ferait que prévenir en français l'utilisateur et stoperait la macro. Donc pas de vrai question, pas de reprise au début de la macro, juste la fin. L'utilisateur aurait alors à recommencer la manip en utilisant un autre nom pour le produit recherché. Le soucis : quand ça s'arrête les lignes sont masquées et le "bouton" qui permet de recommencer la macro est lui aussi masqué car situé sur les mêmes lignes filtrées. D'où la nécessité de remettre les ilgnes comme il faut pendant le message d'erreur. A moins que tu saches comment faire pour qu'une zone de texte ne soit pas affectée par la modification des lignes en dessous d'elle (ça résoudrait aussi le problème!)

Merci encore!
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
13 août 2010 à 15:56
Ca ne me parait pas si compliquer que ça ?
    If Machin = AutreMachin Then
        MsgBox "Ton message"
        Sheets("LaFeuille").Rows("1:517").Hidden = False
        Exit Sub
    End If

A+
0