Bonjour,
J'ai fait (grâce à l'aide de ce forum) une macro qui récupère une partie des données de chaque feuille d'un classeur et qui les collent à la suite dans un nouveau classeur.
J'ai juste un problème.
Lorsque je lance ma macro, elle me modifie la cellule C3 de chaque feuille avant que la copie se déroule en mettant la valeur "cpteurcol" en C3.
Je suppose que c'est dans FL1.Range("c3")=cpteurcol. Pour préciser, je veux sélectionner les données si il y a qqch dans la collone C et à partir de la ligne 3.
Qqn pourrait me dire ou se situe cette boulette dans mon code?
Merci d'avance
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 Sub interface() Dim CL1 As Workbook Dim FL1 As Worksheet Dim CL2 As Workbook Dim FL2 As Worksheet Dim istartrow, iStartCol, iendRow, iendCol As Integer Dim cpteurrow As Integer Dim cpteurcol As Integer Dim PremLigVid As Long 'instance du classeur dont tu copies les plages de données Set CL1 = ThisWorkbook 'instance du classeur créé Set CL2 = Workbooks.Add 'Instance de la feuille active du nouveau classeur (sans doute "Feuil1") Set FL2 = ActiveSheet 'On passe en revue toutes les feuilles du classeur CL1 For Each FL1 In CL1.Worksheets cpteurrow = 3 'FL1 est une feuille du classeur CL1 While Not FL1.Cells(cpteurrow, 3) = "" cpteurrow = cpteurrow + 1 Wend FL1.Range("c3") = cpteurrow - 1 cpteurcol = 2 While Not FL1.Cells(2, cpteurcol) = "" cpteurcol = cpteurcol + 1 Wend FL1.Range("c3") = cpteurcol istartrow = 3: iStartCol = 1 iendRow = cpteurrow - 1: iendCol = cpteurcol 'Debug.Print "istartrow = " & istartrow 'Debug.Print "iStartCol = " & iStartCol 'Debug.Print "iendRow = " & iendRow 'Debug.Print "iendCol = " & iendCol PremLigVid = FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1 'Debug.Print "PremLigVid = " & PremLigVid FL1.Activate Range(Cells(istartrow, iStartCol), Cells(iendRow, iendCol)).Copy Destination:=FL2.Cells(PremLigVid, 1) Next FL2.Rows(1).Delete End Sub
Partager