Bonjour à tous,

Voila je suis débutant en VBA et en règle générale en programmation. J'aurais une question a vous soumettre concernant un code VBA pour "trier" un tableau excel. MMon tableau excel est oragnisé sur plusieurs colonnes allant de A à L, et sur un nombre de lignes inconnu mais ne dépassant pas 500 lignes

En fait j'aimerais que lorsque que la plage A2:F2 est identique à la plage A3:F3, la plage soit A3:F3 soit effacée et ainsi de suite en sachant que A4:F4 peut etre identique a A2:F2 et que lorsque A5:F5 par exemple est différent de A2:F2, la comparaison recommence a partir de A5:F5....c'est pas clair ?

Exemple d'origine:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
            A     B     C     D.....jusqu'a F   - les colonnes apres F contiennent d'autres champs a ne pas supprimer
1           x     x     x      x                    
2           x     x     x      x                     
3           x     e     x      x                    
4           y     y     y      y                    
5           y     y     y      y                   
6           z     z     z      z                   
7           a     a     a      a
Exemple tableau après VBA:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
            A     B     C     D.....jusqu'a F     
1           x     x     x      x                      
2                                                       
3           x     e     x      x                      
4           y     y     y      y                    
5                                                      
6           z     z     z      z                     
7           a     a     a      a
Donc il s'agit simplement d'effacer les données des cellules et non pas de supprimer les lignes (ce que j'arrive a faire en vba).

Macro que j'ai faites mais qui ne marche pas...erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 Sub test()
 
Dim i As Integer
Dim j As Integer
 
i = 1
j = i + 1
n = 1 ' compteur
 
While n < 500
linei = Cells(i, 1).Cells(i, 2).Cells(i, 3).Cells(i, 4).Cells(i, 5).Cells(i, 6).Value
linej = Cells(j, 1).Cells(j, 2).Cells(j, 3).Cells(j, 4).Cells(j, 5).Cells(j, 6).Value
 
If linei = linej Then
j = j + 1: n = n + 1
linej.ClearContents
ElseIf linei <> linej Then i = j: j = i + 1: n = n + 1
 
End If
Wend
End Sub
Si quelqu'un peut m'aider sur ce code ça me serait bien utile...je ne pense pas que ce soit compliqué a faire en VB mais je bloque...

Merci d'avance

@+
Monsterfab