Posez votre question Signaler

[Excel VBA] Comparaison entre 2 cellules

GlamIS - Dernière réponse le 4 juil. 2008 à 14:39
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
Lire la suite 
Réponse
+0
moins plus
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!
GlamIS- 4 juil. 2008 à 13:43
merci mais ce ci estd ans le cadre d'une procédure, donc obligé de passer par une vérification par du code VBA
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
En meme temps, tu as sur une feuille un entier, sur la 2eme feuille un string, c'est normal que la comparaison de la Value retourne false

Essaie de tester le Text de la cellule
zavenger 818Messages postés vendredi 29 février 2008Date d'inscription 20 avril 2012Dernière intervention - 4 juil. 2008 à 14:09
quid de ceci?

?oCell.Value = cstr(100)
True
Répondre
GlamIS- 4 juil. 2008 à 14:20
?? il diot bien y avoir une explication paranormale non ? ^o)
Répondre
zavenger 818Messages postés vendredi 29 février 2008Date d'inscription 20 avril 2012Dernière intervention - 4 juil. 2008 à 14:28
certainement ;-))

Tu ne veux pas essayer le test que je t'ai proposé, des fois que ...
Répondre
GlamIS- 4 juil. 2008 à 14:35
ca marche pas parceque je n'est pas forcement le meme format:
?oCell.Text
1.00E+04
?oAuditSheet.Range(oCell.Address).Text
10000

...au fait, je n'ai pas la main sur le code VBA, je peux juste modifier les feuilles!!!
Répondre
zavenger 818Messages postés vendredi 29 février 2008Date d'inscription 20 avril 2012Dernière intervention - 4 juil. 2008 à 14:39
du coup ne serait-ce pas un probleme de format de cellule (une en auto, l'autre en nombre)
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Ce document intitulé «  [Excel VBA] Comparaison entre 2 cellules  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.