[Excel VBA] Comparaison entre 2 cellules
GlamIS
-
zavenger Messages postés 817 Statut Membre -
zavenger Messages postés 817 Statut Membre -
Bonjour a tous,
J'ai un probleme VBA Excel lors de la comparaison entre deux feuilles qui contiennent les mêmes valeurs, la première par formule et la seconde directement par valeur.
Je compare ces deux feuilles cellule par cellule via le code suivant:
Code :
For Each oCell In Firstsheet.UsedRange
If oCell.Value <> SecondSheet.Range(oCell.Address).Value Then
different = True
MsgBox "Different sheets"
Exit For
End If
Next oCell
If Not different Then
MsgBox "Identical sheets"
End If
En executant ce code, vba detecte une cellule qui ne contient pas la même valeur dans les deux feuilles.
Et quand je fais differents tests pour comparer ces deux cellules j'obtiens ceci:
Code :
?ocell.Value
100
?SecondSheet.Range(ocell.Address ).Value
100
?TypeName(ocell.Value)
Double
?TypeName(SecondSheet.Range(oCell.Address ).Value)
Double
?oCell.Value = 100
False
?oCell.Value = cstr(100)
True
?SecondSheet.Range(oCell.Address).Value = 100
True
?SecondSheet.Range(oCell.Address).Value = cstr(100)
True
?oCell.Value = SecondSheet.Range(oCell.Address ).Value
False
Je rappelle que la premiere feuille contient des formules la secondes des valeurs.
Avez-vous une idée de ce qui se passe?
merci
J'ai un probleme VBA Excel lors de la comparaison entre deux feuilles qui contiennent les mêmes valeurs, la première par formule et la seconde directement par valeur.
Je compare ces deux feuilles cellule par cellule via le code suivant:
Code :
For Each oCell In Firstsheet.UsedRange
If oCell.Value <> SecondSheet.Range(oCell.Address).Value Then
different = True
MsgBox "Different sheets"
Exit For
End If
Next oCell
If Not different Then
MsgBox "Identical sheets"
End If
En executant ce code, vba detecte une cellule qui ne contient pas la même valeur dans les deux feuilles.
Et quand je fais differents tests pour comparer ces deux cellules j'obtiens ceci:
Code :
?ocell.Value
100
?SecondSheet.Range(ocell.Address ).Value
100
?TypeName(ocell.Value)
Double
?TypeName(SecondSheet.Range(oCell.Address ).Value)
Double
?oCell.Value = 100
False
?oCell.Value = cstr(100)
True
?SecondSheet.Range(oCell.Address).Value = 100
True
?SecondSheet.Range(oCell.Address).Value = cstr(100)
True
?oCell.Value = SecondSheet.Range(oCell.Address ).Value
False
Je rappelle que la premiere feuille contient des formules la secondes des valeurs.
Avez-vous une idée de ce qui se passe?
merci
A voir également:
- [Excel VBA] Comparaison entre 2 cellules
- Liste déroulante excel - Guide
- Fusionner 2 cellules excel - Guide
- Verrouiller cellules excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
a la limite, le mieux c'ets que tu copie la feuille contenant des formules et qu'en faisant collage spécial tu mettes coller seulement les valeurs.
je en susi pas un spécialiste excel loin de là, mais ce systeme D fonctionne pas mal!
je en susi pas un spécialiste excel loin de là, mais ce systeme D fonctionne pas mal!
GlamIS
merci mais ce ci estd ans le cadre d'une procédure, donc obligé de passer par une vérification par du code VBA