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...
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...
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)
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...
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 !