Pb boucle sous excel en VBA

Fermé
Olive0185 Messages postés 17 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 25 septembre 2008 - 25 sept. 2008 à 10:51
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 25 sept. 2008 à 15:12
Bonjour,
Voila 2 mois que je n'ai pas fait de macro et je suis coincé pour effectuer une boucle.
J'ai une liste de nom (sur la feuil1 colonne B), dont certain nom sont plusieurs fois dans liste, que je voudrais copier,sans doublons, sur la feuil2 colonne A. Tous les jours, j'ajoute des noms dans la liste feuil1, certain sont déja écrit d'autres sont nouveau.
Voici ma macro que j'ai créé

Sub RA()
Dim j As Long
j = 5

Sheets("Feuil1").Select
If Cells(j, 2).Value <> Cells(j, 2).Offset(-1, 0).Value Then
Selection.Copy
Sheets("Feuil2").Select
Range("A5").Select
ActiveSheet.Paste
Else
j = j + 1
End If
End Sub

Merci pour l'aide que vous allez m'apporter.
Olive
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
25 sept. 2008 à 15:12
les cellules fusionnées sont à bannir dès que tu utilises VBA

pour aller à ligne dans une cellule appui sur Alt+entrée
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
25 sept. 2008 à 12:23
Bonjour
sans boucle en utilisant les filtres
p'tite démo à adapter:
http://cjoint.com/data/jzmu3BRzF1_extraire_par_autofilter.xls

dont voici la macro

Sub Extraire_doublons()
Dim lig As Long

lig = Range("A2").End(xlDown).Row
Range("A1").AutoFilter
Range("A2:A" & lig).AdvancedFilter Action:=xlFilterCopy, Copytorange:=Sheets(2).Range("C1"), Unique:=True
End Sub
0
Olive0185 Messages postés 17 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 25 septembre 2008 6
25 sept. 2008 à 15:08
OK merci ça marche.
Mais, pas de chance il y a un "mais", j'ai un nom qui revient 2 fois, je pense que le filtrage ne s'effectue pas sur la ligne 5 mais plutot sur la ligne 6. Alors est-ce parce que ma ligne en-tête fait 2 lignes (fusion de cellule) ou parce que je commence mal mon filtrage.

Macro adapté à mon besoin :

Sub Extraire_doublons()
Dim lig As Long

lig = Range("B5").End(xlDown).Row
Range("B4").AutoFilter
Range("B5:B" & lig).AdvancedFilter Action:=xlFilterCopy, Copytorange:=Sheets(2).Range("A5"), Unique:=True
End Sub

Merci
-1