Bonjour,
J'ai écrit un fonction VBA qui permet de comparer 2 feuilles de calcul. Cette fonction est de mon point de vue trop rustique au niveau de la comparaison des valeurs des cellules :
En particulier, cette comparaison ne prends pas en compte le type de la cellule ce que peut avoir un effet sur le résultat (une heure calculé n'a pas nécessairement le même numéro de série qu'une heure saisie), ne permet de tenir compte de l'objectif de la comparaison (par exemple, elle est sensible à la casse ce qui n'est pas nécessaire).
Avant que je ne me lance dans la rédaction d'une fonction de comparaison plus universelle, y aurait-il parmi quelqu'un qui a ça en stock ou qui sait où trouver un tel code, à moins qu'il n'existe une fonction standard Excel-VBA pour ça ?
En échange, vous aurez ma gratitude éternelle.
Par avance, je vous remercie de vos réponses.
A bientôt
Guy
J'ai écrit un fonction VBA qui permet de comparer 2 feuilles de calcul. Cette fonction est de mon point de vue trop rustique au niveau de la comparaison des valeurs des cellules :
Code:
IlyaDiff = False
If Not IsError(Cellule) And Not IsError(DeuxiemeFeuille.Range(Cellule.Address)) Then
' Les 2 cellules ne sont pas en erreur on compare les valeurs
If Cellule.value <> DeuxiemeFeuille.Range(Cellule.Address).value Then
IlyaDiff = True
End If
Else 'Au moins une cellule est en erreur
If Not (IsError(Cellule) And IsError(DeuxiemeFeuille.Range(Cellule.Address))) Then
'Une seule des cellules est en erreur
IlyaDiff = True
End If
End If
En particulier, cette comparaison ne prends pas en compte le type de la cellule ce que peut avoir un effet sur le résultat (une heure calculé n'a pas nécessairement le même numéro de série qu'une heure saisie), ne permet de tenir compte de l'objectif de la comparaison (par exemple, elle est sensible à la casse ce qui n'est pas nécessaire).
Avant que je ne me lance dans la rédaction d'une fonction de comparaison plus universelle, y aurait-il parmi quelqu'un qui a ça en stock ou qui sait où trouver un tel code, à moins qu'il n'existe une fonction standard Excel-VBA pour ça ?
En échange, vous aurez ma gratitude éternelle.
Par avance, je vous remercie de vos réponses.
A bientôt
Guy