Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA replace et range

Hervé

XLDnaute Barbatruc
Bonsoir tout le monde

je cherche a supprimer d'une plage tout les doublons.

je ne voulais pas passer par les traditionnels collection et tableau, j'ai essayé avec des range.

et ca coince

dans le code suivant, la ligne en commentaire provoque une erreur 13, et je ne trouve pas la bonne syntaxe.



End Sub

d'avance je vous en remercie.

salut
 

Jacques87

XLDnaute Accro
Bonsoir Hervé

essaie ceci

Private Sub CommandButton1_Click()
Dim plage As Range
Dim c As Range

Set plage = Range('a1').CurrentRegion

For Each c In plage
If Len(c) > 0 Then
If WorksheetFunction.CountIf(plage, c) > 1 Then
c.Value = Replace(c, c.Value, '') 'MARCHE PAS
End If
End If
Next c

Sheets('feuil2').Range('a1').Resize(plage.Rows.Count, plage.Columns.Count) = plage.Value

End Sub

Tiens moi au courant
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Hervé, le Forum,

Normalement, tu devrais t'en sortir en utilisant non pas la fonction Replace() mais la méthode de même nom :
Par contre, en utilisant ce code, d'une part tu supprimeras 'toutes' les occurences de valeurs doublons et d'autre part, la suppression sera effective aussi bien dans la feuille d'origine que dans la feuille de destination (feuil2) !

Cordialement,

PS : :sick: :unsure: ?


EDITION :
Oups.... pardon Jacques, je n'avais pas réactualisé la page avant de poster... Félicitations pour ton 500ième déjà loin visiblement...


Message édité par: myDearFriend!, à: 09/02/2006 21:33
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…