j'ai une erreur sur un code pour supprimer les doublons dans un fichier donnée mais au lancement j'ai une erreur que je n'arrive pas à résoudre.
Pouvez-vous me donner un coups de main?
Merci d'avance
Voici le code :
Private Sub suppr_doublons()
On Error Resume Next
Sheets("Mvt").Activate
For lin = Cells.SpecialCells(xlCellTypeLastCell).Row To 2 Step -1
For linsup = 1 To lin - 1
For col = Cells.SpecialCells(xlCellTypeLastCell).Column To 1 Step -1
If Cells(lin, col) <> Cells(linsup, col) Then
Exit For
If col = 1 Then Rows(lin).Delete
Next col
Next linsup
Next lin
"au lancement j'ai une erreur que je n'arrive pas à résoudre."
Et si tu donnais des précisions ?
1) au lancement voudrait dire dès que tu lances, sans même que l'on sache si c'est un VB qui pilote Excel (nous sommes ici sous VB et pas VBA, ce qui permet un doute...) ou si tu cherches seulement à lancer Excel ...
2) quelle erreur ? un message (et lequel alors ?) ou un mauvais résultat ?
La macro que je lance depuis execel ne va pas jusuq'au bout car un msg d'erreur apparait (au niveau de Next col)
: "Erreur de compilation : Next sans for"
Essai de mettre
If Cells(lin, col) <> Cells(linsup, col) Then Exit For
sans retour à la ligne
car sinon le "exit for" met fin à la boucle ds tout mes cas , et alors le for reste sans next.
For col = Cells.SpecialCells(xlCellTypeLastCell).Column To 1 Step -1
If Cells(lin, col) <> Cells(linsup, col) Then
Exit For
If col = 1 Then Rows(lin).Delete
'TU N4AS PAS MIS DE END IF Next col
ESSAIE PEU ETRE
For col = Cells.SpecialCells(xlCellTypeLastCell).Column To 1 Step -1
If Cells(lin, col) <> Cells(linsup, col) Then Exit For
If col = 1 Then Rows(lin).Delete
Next col
Note le mieux serait quand même de regarder l'aide sur le IF THEN ELSE
J'ai essayé vos deux propositions, je n'ai plus de msg d'erreur mais ça n'a aucune incidence sur mes lignes.
Je n'arrive tjrs pas a supprimer celles qui sont doublons!!!
Ah oui mais ca c'est auter chose... Peu etre que ton code est faux tout simplement.
Essaye l'enregistreur de macro de Excel pour voir .
@+: Ju£i?n Pensez: Réponse acceptée