VBA Excel : Pb Gestionnaire d'erreur
Résolu/Fermé
sifusalade
Messages postés
134
Date d'inscription
samedi 21 janvier 2012
Statut
Membre
Dernière intervention
16 juillet 2021
-
8 août 2012 à 12:42
sifusalade Messages postés 134 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 - 8 août 2012 à 15:26
sifusalade Messages postés 134 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 - 8 août 2012 à 15:26
A voir également:
- VBA Excel : Pb Gestionnaire d'erreur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
8 août 2012 à 13:43
8 août 2012 à 13:43
Bonjour,
vu la construction de ta fonction, il est tout à fait normal que ton gestionnaire d'erreur apparaisse après le remplissage des données, vu que ta macro est constituée pour insérer les données avant.
De plus, tu fais plein de Select, de Set qui ralentisse ta macro. Tu peux faire ça simplement, sans sélectionner.
Je regarde ça pour améliorer ton code.
Cordialement.
vu la construction de ta fonction, il est tout à fait normal que ton gestionnaire d'erreur apparaisse après le remplissage des données, vu que ta macro est constituée pour insérer les données avant.
De plus, tu fais plein de Select, de Set qui ralentisse ta macro. Tu peux faire ça simplement, sans sélectionner.
Je regarde ça pour améliorer ton code.
Cordialement.
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
8 août 2012 à 13:53
8 août 2012 à 13:53
Re,
ton problème de gestionnaire est résolu :
1°) mets-le au début de ta routine ajout, et remplace les
CelluleNum.Value, CelluleObjet.Value etc... par leur équivalent dans l'userform, soit :
Userform1.TexteNumero.Value
UserForm1.TexteObjet.Value
et ainsi de suite.
De ce fait, ton gestionnaire d'erreur se déclenchera AVANT le remplissage de l'onglet, et se basera sur les valeurs de ton formulaires, pas de celles de la feuille.
Pour l'optimisation de code, c'est à voir plus tard :-D
Cordialement.
ton problème de gestionnaire est résolu :
1°) mets-le au début de ta routine ajout, et remplace les
CelluleNum.Value, CelluleObjet.Value etc... par leur équivalent dans l'userform, soit :
Userform1.TexteNumero.Value
UserForm1.TexteObjet.Value
et ainsi de suite.
De ce fait, ton gestionnaire d'erreur se déclenchera AVANT le remplissage de l'onglet, et se basera sur les valeurs de ton formulaires, pas de celles de la feuille.
Pour l'optimisation de code, c'est à voir plus tard :-D
Cordialement.
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
8 août 2012 à 13:54
8 août 2012 à 13:54
Ce qui donne pour le gestionnaire :
'gestionnaire d'erreur If UserForm1.TexteNumero.Value = "" Then MonMessage = MonMessage & " - Un numéro" & Chr(13) End If If UserForm1.TexteTimbre.Value = "" Then MonMessage = MonMessage & " - Un timbre" & Chr(13) End If If UserForm1.TexteObjet.Value = "" Then MonMessage = MonMessage & " - Un objet" & Chr(13) End If If UserForm1.ListeDestinataire.Value = "" Then MonMessage = MonMessage & " - Un destinataire" & Chr(13) End If If UserForm1.TexteDate.Value = "" Then MonMessage = MonMessage & " - Une date d'envoi" & Chr(13) End If If MonMessage <> "" Then MsgBox "ATTENTION" & Chr(13) & "Vous devez saisir" & Chr(13) & MonMessage & "pour continuer", vbCritical Exit Sub End If
sifusalade
Messages postés
134
Date d'inscription
samedi 21 janvier 2012
Statut
Membre
Dernière intervention
16 juillet 2021
7
8 août 2012 à 15:26
8 août 2012 à 15:26
.... et se basera sur les valeurs de ton formulaires, pas de celles de la feuille.
Alors chapeau, quand je pense que c'est aussi con que ça... (j'ai honte lol)
En tout cas merci beaucoup c'est super sympa. Et en plus, de me résoudre mon problème uu m'as expliqué. Merci beaucoup, je confirme, ça marche.
Alors chapeau, quand je pense que c'est aussi con que ça... (j'ai honte lol)
En tout cas merci beaucoup c'est super sympa. Et en plus, de me résoudre mon problème uu m'as expliqué. Merci beaucoup, je confirme, ça marche.