VBA: comparer 2 cellules

Guy_M

XLDnaute Occasionnel
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 :
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
 
G

Guest

Guest
Re : VBA: comparer 2 cellules

Bonsoir,

Pas tout compris mais j'ai traduit ce que je pouvais.

Code:
Option Explicit 'En tête de module
Option Compare Text 'En tête de module pour comparaison insensible à la casse
Function IlyaDiff(Cellule1 As Range, Cellule2 As Range) As Boolean
    IlyaDiff = True
    If Not IsError(Cellule1) And Not IsError(Cellule2) Then IlyaDiff = Cellule1 <> Cellule2
End Function

Que faire si les deux cellules ont une erreur mais pas la même?

A+
 
Dernière modification par un modérateur:

Guy_M

XLDnaute Occasionnel
Re : VBA: comparer 2 cellules

Bonjour Hasco,

Merci pour cette réponse.

Le code était là pour montrer ce que je fais actuellement, je souhaite avoir quelque chose de plus fin, par exemple "Option Compare Text" rend insensible à la casse toutes les comparaisons ce qui n'est l'objectif recherché.

A bientôt
Guy
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 861
Messages
2 092 962
Membres
105 571
dernier inscrit
MAT30190