[vba][excel]multi-condition

Résolu/Fermé
ttb Messages postés 2 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 1 mai 2007 - 21 avril 2007 à 11:49
ttb Messages postés 2 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 1 mai 2007 - 1 mai 2007 à 22:39
bonjour forum
je fais mon stage et je me lance donc a corp perdu dans le vbe pour faire du reporting

Et la pb!!!, je veux faire une triple condition, le calcul se fait(une simpe addition si aucune des cellules n'est egale à #N/A. Mais lors de l'apparition d'une cellule #N/A, ça bug. Je ne compte plus le nombre de fois ou j'ai retourner mon code.

Merci de votre aide

If Range("M4").Value <> "#N/A" Then
If Range("N4").Value <> "#N/A" Then
If Range("O4").Value <> "#N/A" Then
Range("P4").Value = Range("M4").Value + Range("N4").Value + Range("O4").Value
Else: MsgBox "la cellule O4 n'est pas rempli"
End If
Else: MsgBox "la cellule N4 n'est pas rempli"
End If
Else: MsgBox "la cellule M4 n'est pas rempli"
End If
A voir également:

1 réponse

Salut ttb,

Il est normal que ça bug quand tu as un #N/A dans une cellule car cette expression n'est pas un texte mais un erreur, et vba la considère aussi comme une erreur.

Donc tu dois remplacer ton code par celui-ci :

If IsError (Range("M4").Value) = False Then
If IsError (Range("N4").Value) = False Then
If IsError (Range("O4").Value) = False Then
Range("P4").Value = Range("M4").Value + Range("N4").Value + Range("O4").Value
Else: MsgBox "la cellule O4 n'est pas rempli"
End If
Else: MsgBox "la cellule N4 n'est pas rempli"
End If
Else: MsgBox "la cellule M4 n'est pas rempli"
End If


Attention, ce code va intervenir sur toutes les erreurs et pas seulement sur l'erreur #N/A. Donc, je te joint également le référencement des erreurs d'excel pour vba (tableau reprenant la constante, le numéro d'erreur et la valeur erreur cellule).
xlErrDiv0 2007 #DIV/0!
XlErrNA 2042 #N/A
xlErrName 2029 #NAME ?
XlErrNull 2000 #NULL!
XlErrNum 2036 #NUM!
XlErrRef 2023 #REF!
XlErrValue 2015 #VALUE!


a+

seb
2
ttb Messages postés 2 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 1 mai 2007
1 mai 2007 à 22:39
merci pour ta réponse ainsi que pour référencement...et désolé pour ma nomenclature
0