Détecter erreur #value! vba

Résolu/Fermé
maxxikilla - 30 juil. 2013 à 12:00
 maxxikilla - 31 juil. 2013 à 14:33
Bonjour à tous,

Je travaille sur une boucle for qui prend en compte une colonne.
Dans cette colonne, il y a des dates, que j'analyse par la suite.

Le problème est le suivant:
Il arrive parfois que dans cette colonne, j'ai des #value!.
Du coup, dans mon code, j'ai un "type dismatch", ce qui est logique.

J'aimerai faire une condition, disant que s'il y a une erreur de type #value!, alors il saute la case pour l'analyse.

Je veux mettre un "if" dans la boucle for.
Qu'est ce que je dois mettre dans ma condition "if" ?

Merci d'avance pour votre aide !



3 réponses

Bonjour

Pour tester une date avec 1 If

If IsDate(Range("H14")) Then
MsgBox "Ok"
Else
MsgBox "Pas Bon"
End If

A+

Maurice
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 juil. 2013 à 14:50
Bonjour
que veux tu faire : restituer avec un tableau "à la suite" sans les erreurs ou avec un tableau avec des cellules "blanches" si #value ?

au besoin

mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse

1
@ maurice: Merci beaucoup, ce n'est pas exactement ce à quoi je pensais, mais cette solution est largement viable. Ma devise: Pourquoi faire simple quand on peux faire compliqué !! lol

@michel_m En fait, il s'agit de dates que je compare à une date de référence variable ( au choix de lutilisateur )
En fait, je demande simplement par vba de copier les lignes, lorsque les dates sont supérieures à celle fixée par l'utilisateur.
Les dates que je compare à la date de référence sont parfois non renseignées. D'où le .value#
La solution de maurice fonctionne parfaitement.

Merci à tous les deux. Cordialement,
Maxime
0