Jean2208
Messages postés19Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention22 septembre 2009
-
24 janv. 2007 à 11:14
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
24 janv. 2007 à 12:54
Bonjour à tous,
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
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 janv. 2007 à 11:24
"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 ?
Jean2208
Messages postés19Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention22 septembre 2009 24 janv. 2007 à 11:35
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"
cs_mouadkrt
Messages postés8Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention24 janvier 2007 24 janv. 2007 à 11:42
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.
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 24 janv. 2007 à 11:43
Salut,
C'est parce que ton IF est mal implémenté.
Que cherche tu a faire à cet endroit
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
Jean2208
Messages postés19Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention22 septembre 2009 24 janv. 2007 à 11:56
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!!!
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 24 janv. 2007 à 11:59
Salut,
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