Question de compréhension : Condition If différent de "" ou #N/A
Bonjour à tous,
Juste une question de compréhension :
Code:
1 2 3 4 5
| If Not IsError(cell_ori.Offset(0, col_ori - cell_ori.Column)) Then
If cell_ori.Offset(0, col_ori - cell_ori.Column).Value <> "" Then
cell_des.Offset(i, col_des - cell_des.Column) = cell_ori.Offset(0, col_ori - cell_ori.Column)
End If
End If |
Ce code fonctionne. Je test d'abord si je n'ai pas une erreur et après si la cellule n'est pas vide.
J'ai forcément écrit ceci la première fois :
Code:
1 2 3
| If Not IsError(cell_ori.Offset(0, col_ori - cell_ori.Column)) And cell_ori.Offset(0, col_ori - cell_ori.Column).Value <> "" Then
cell_des.Offset(i, col_des - cell_des.Column) = cell_ori.Offset(0, col_ori - cell_ori.Column)
End If |
en changeant l'ordre dans le If, sachant pertinament que ça n'enlèverait pas l'erreur 13 : Incompatibilité de type.
Je conçois bien qu'une erreur ne peut pas être évaluée/comparée à un <> "", cependant, je voulais savoir s'il n'y avait pas une autre manière de procéder que le code que j'ai écrit fonctionnant actuellement (j'ai horreur d'imbriquer des "If"... ^^ ).
Je ne sais pas si j'ai été suffisament clair dans ma question de compréhension et d'optimisation.
Je vous remercie par avance si vous avez une réponse.
Kimy