Bonjour a tous,
Une nouvelle question de copy/paste pour laquelle je bloque.
Voici mon proble : je oudris arriver a copier des lignes entiere de ma feuill "Base" vers d'autres onglet en fonction du nom inscris dan sla colonne B.
Si le meme nom appart plusiseurs fois, il faut que toutes les lignes de la colonne B qui comporte se nom soit copier dans une nouvelle feuille.
Si un nom n'apparait q'une seule fois alors sa ligne seulement sera copier dans une nouvelle feuille.
voila mon codeJe commence par fare un tri sur la colonne qui m'interesse B
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub test() Application.ScreenUpdating = True Dim Plage As Range, x As Integer, j As Integer, y As Integer, k As Integer, l As Integer, i As Integer, z As Byte x = 3 y = 0 k = 0 l = 0 z = 1 'enleve filtre 'ROws("2:2").Select 'Selection.AUtoFilter 'select et tri premiere colonne 'Worksheets("Base").Activate 'Range("B3").Select 'Range("A1:N382").Sort Keyl:=Range("B3"), orderl:=xlAscending, Header:= xlGuess, Ordercustom:=1, Matchcase:=False, orientation:=xlTOpTOBottom, _ Dataoptionl:=xlSortNormal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 'Boucle select et copy libellé identique worksheets("Base").Activate Set Plagel = Worksheets("Base").Range("B3:B" & Range("B3").End(xlDown).Row) 'Set Plage2 = worksheets("Base").Range("B3:B" & Range("B3").End(xlDown).ROw) For j = Plagel.Cells.Count To 3 Step -1 'Plagel.Cells(j).Value = uCase(Plagel.Cells(j).value) 'Plagel.Cells(j - 1).value = ucase(Plagel.cells(j - 1).Value) For i = Plagel.Cells.Count To 3 Step -1 If Plagel.Cells(j).Value = Plagel.Cells(j - 1).Value Then i = j + 2 Plagel.Cells(i).Select nbr = Selection.Count k = i - nbr Range("A" & k, "M" & i).Select Selection.Copy Sheets.Add Range("A3").Select ActiveSheet.Paste Application.CutCopyMode = False Else Exit For End If Next 'Else If Plagel.Cells(j).Value <> Plagel.Cells(j - 1).Value Then Plagel.Cells(j).EntireRow.Select Plagel.Cells(j).EntireRow.Copy 'crée un onglet et insere ligne copier Sheets("Base").Select Sheets.Add Range("A3").Select ActiveSheet.Paste Application.CutCopyMode = False End If Next 'renomme onglet 'Sheets("Feui11").select 'Sheets("Feuill").Name= Range("B3").value End Sub
puis je fais 2 boucles qui doivent me permettre de selectionner et copier les lignes qui m'interressent.
le probleme est qu je ne selectionne pas touts les doublons (ligne qui ont le meme nom dans la colonne B)
voila j'espere avoir été clair.
Je reviendré avec des precisions si necessaire, merci pour votre aide.
col A col B col C col D col E
num ag nom ag resp ag nb ag gogh
nom ag resp ag nb ag gogh
1 mesure qlmjhlg 2316 oifjp^qe
2 efface qlmjhlg 2317 oifjp^qe
3 niche qlmjhlg 2318 oifjp^qe
4 loupe qlmjhlg 2319 oifjp^qe
5 souris qlmjhlg 2320 oifjp^qe
6 souris qlmjhlg 2321 oifjp^qe
7 souris qlmjhlg 2322 oifjp^qe
8 souris qlmjhlg 2323 oifjp^qe
voici un extrait du tableau pour mieux comprendre, en clair il faut que j'arrive a copier la ligne un dans une feuille, puis la ligne 2, 3,4. Puis les lignes 5678 dans une autre et insi desuite.
Partager