Fonction Find avec Doublons

Résolu
cs_jeyjey1
Messages postés
46
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
8 février 2010
- 27 févr. 2008 à 14:50
cs_jeyjey1
Messages postés
46
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
8 février 2010
- 28 févr. 2008 à 08:48
Bonjour,

J'ai une colonne C et je doit comparer chaque cellule de cette colonne à la colonne A, si je trouve un doublon je supprime la cellule active de ma colonne C.Mon probleme est que le code ne reconnait pas les doublons.Auriez vous une idée?.Merci

Worksheets("feuil2").Activate
'TRI DOUBLONS COLONNE C AVEC A
Dim rngTrouve As Range
Dim strChaine As String
Range("C1").Select
strChaine = ActiveCell.Value
Set rngTrouve = ActiveSheet.Columns("A:A").Cells.Find(what:=strChaine)


While ActiveCell.Value <> ""
If rngTrouve Is Nothing Then
ActiveCell.Offset(1, 0).Select
Else
   ActiveCell.Delete
   ActiveCell.Offset(1, 0).Select
'Cells.Find(what:=strChaine).Activate
End If


Set rngTrouve = Nothing
Wend

3 réponses

nanardino64
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010

27 févr. 2008 à 17:33
Bonjour,
utilise plutôt :
with activesheet.columns("a:a")
   Set rngTrouve = .Find(strChaine, lookin:=xlvalues)
end with
et ton while tu dvrais le mettre un peu plus haut si tu veux aussi boucler la recherche

Nanardino64
Développons-nous, développeurs.
3
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
20
28 févr. 2008 à 00:04
Ce n'est pas la méthode que j'utiliserais, à cause des SELECT, mais tu pourrais essayer ceci. C'est-à-dire enlever la ligne barrée

While ActiveCell.Value <> ""
If rngTrouve Is Nothing Then
ActiveCell.Offset(1, 0).Select
Else
   ActiveCell.Delete
<strike>   ActiveCell.Offset(1, 0).Select</strike>
'Cells.Find(what:=strChaine).Activate
End If

Normalement, lorsqu'on veut supprimer une ligne (ou une cellule), on devrait commencer par la fin et remonter. Il faut comprendre que la position est modifiée si une ligne est supprimée et on risque de se retrouver sur la ligne suivante si on commence par le haut...

PS: très mauvaise explication de ma part, mais qui mérite réflexion tout de même...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
cs_jeyjey1
Messages postés
46
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
8 février 2010

28 févr. 2008 à 08:48
Bonjour et merci a tous pour vos réponses, grace a vous j'ai pu avancer, merci encore
0