Comparer deux valeurs avec irow,icol

Mulder

XLDnaute Junior
Bonjour à tous,

J'ai (encore) un petit souci de développement, mais promis, cette fois, je joins un fichier...

Dans le fichier ci-joint, après retraitement d'une base de données, j'obtiens le tableau tel que sur la Feuil2.

Je cherche à retraiter pour présenter les infos autrement, via une macro VBA.
En fait, la recopie des données sera différente si la valeur de la colonne Référence est la même ou non que la valeur du dessus dans la colonne référence...
Le tout en passant par les fonctions irow,icol...

J'espère que je suis assez clair...
 

Pièces jointes

  • TEST.xls
    26 KB · Affichages: 54
  • TEST.xls
    26 KB · Affichages: 56
  • TEST.xls
    26 KB · Affichages: 55

Mulder

XLDnaute Junior
Re : Comparer deux valeurs avec irow,icol

Je viens de me relire, je suis pas très clair...

Donc en d'autres termes, qu'est-ce qui ne va pas dans une telle formule :

If cel.Offset(0, 5) = cel.Offset(-1, 5) Then

Suivi de plusieurs lignes de codes pour les actions à effectuer si c'est égal

Else :

Suivi de plusieurs lignes de codes pour les actions à effectuer si c'est pas égal

???

D'avance merci !!!!
 

Mulder

XLDnaute Junior
Re : Comparer deux valeurs avec irow,icol

Bon, alors j'ai un début de piste !!! Ca prouve que je cherche !!
Je commencais la comparaison en me placant en A1, mais bien évidemment, ça bug si je veut comparer avec la ligne précédente !!! J'ai donc modifié le code en conséquence, ça ne bug plus, mais le traitement ne fonctionne qu'à moitié...

Si XXXX Alors YYYYY ne donne rien, par contre le SINON ZZZZ fonctionne...
 

Hervé

XLDnaute Barbatruc
Re : Comparer deux valeurs avec irow,icol

salut mulder

essaye comme ceci :

Code:
For Each cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
         irow = 2
         icol = 15
 
         Cells(irow, icol).Activate
 
           'If Cells(irow, icol + 7).Value = Cells(irow - 1, icol + 7).Value Then
           If ActiveCell.Offset(0, 6) = ActiveCell.Offset(-1, 6) Then

tu activais la cellule en ligne 1 (irow=1) puis tu te deplacais sur la ligne au dessus (Offset(-1, 6)) comme la ligne 0 n'existe pas, bug

je sais pas par contre si c'est bien le traitement que tu voulais, j'ai pas tout compris au code (mais ca viens de moi, t'inquiete pas)

a plus
 

Mulder

XLDnaute Junior
Re : Comparer deux valeurs avec irow,icol

Bonjour Hervé,
Effectivement, bien vu, comme posté précédemment, j'ai vu la source de cette erreur...
Par contre, une partie du traitement ne fonctionne pas...
Pour la référence FA0810-0016 du fichier par exemple, les données ne se recopient pas et c'est justement lorsque la comparaison donne VRAI...
 

Lii

XLDnaute Impliqué
Re : Comparer deux valeurs avec irow,icol

Bonsoir,

avec irow=1 et icol=15 dans la boucle, il y aura des cellules écrasées à chaque changement de ligne. Est-ce voulu ?
Tu obtiendras tous les cas en les retirant de la boucle :
Code:
    irow = 1
    icol = 15
    For Each cel In Range("A2:A" & Range("A65536").End(xlUp).Row).Cells
    ...

Il aurait fallu que tu nous donnes un exemple de résultat attendu !
 

Discussions similaires

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390