Bonjour,
j'aimerais juste savoir s'il existe un moyen simple et rapide de comparer 2 Range
Version imprimable
Bonjour,
j'aimerais juste savoir s'il existe un moyen simple et rapide de comparer 2 Range
a tout hasard je ne suis que débutant :)
Code:
1
2
3
4
5 if range1 = range2 then msgbox "identique" else msgbox "Pas identique!!"
Sont-ce des valeurs ou des textes ?
Si c'est du texte, mets-les tous les deux dans le même format, majuscule ou minuscule, pour les comparer
..........................."Mon tonton" = "mon tonton" = faux
Tu veux dire des comparaisons cell par cell?
En fait c'est ce que je voulais éviter justement, faire une double boucle...
Tu n'as pas répondu à ma question... des valeurs ou des strings ?
Mais bon
ok = true si tes deux cellules contiennent les même données. Ok que tu peux remplacer, évidemment, par if .......... then 'ce que tu veuxCode:ok = Cells(NoLig, NoCol).value = Cells(NoLigne2, NoCol2).value
Tu peux aussi mettre if not ............... then 'ce que tu veux toujours
A question imprécise, réponse hypothétique :cry:
j'ai absolument de tout d s mes cell, double, string, date...
Alors la syntaxe que je t'ai passée devrais fonctionner ;)
merci bcp,
mais c pas exactement ce que je voulais.
En fait j'ai 2 matrices et je voulais eviter de boucler 2 fois...
Bon, je ne suis pas certain qu'il n'y ait pas une autre syntaxe (je crois même l'avoir aperçu sur le forum) mais à défaut tu peux faire ça (qui ne nécessite qu'une boucle et non pas deux)
où Range(Cell1.Address).Offset(0, 3) correspond à la cellule située sur Cell1+3colonnesCode:
1
2
3
4
5
6
7
8
9 Sub RangeComparer() Dim ok As Boolean ok = True Set range1 = Range("A2:B9") For Each Cell1 In range1 ok = ok And Cell1.Value = Range(Cell1.Address).Offset(0, 3).Value Next MsgBox ok End Sub
Tu peux décaler aussi bien les lignes que les colonnes
Offset(5,0) décale de 5 lignes par rapport à Cell1
Si on te donne une meilleure réponse, cette fois-ci je la noterai ;)
merci bcp Ouskel'n'or !!!