Pour connaître le nombre de lignes en colonne A, tu utilises cette formule
nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
Pour créer une extraction sans doublon de la colonne A et la coller en G5, c'est cette ligne
1 2
| Range("A1:A" & nbLignes).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("G5"), Unique:=True |
Il te reste à mettre tes entêtes en ligne 5 et des formules
Petit cadeau...
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
| Sub Extraction()
Dim nbLignes As Long
'nombre de lignes en A
nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
'extraction sans doublon
Range("A1:A" & nbLignes).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("G5"), Unique:=True
'Inscrire les entêtes du tableau
Entetes
'Inscrire les formules
nbLignes = Cells(Rows.Count, "G").End(xlUp).Row 'trouver le nombre d'items sortis
Range("H6:I" & nbLignes).Formula = "=COUNTIFS($A:$A,$G6,$B:$B,H$5)"
Range("J6:J" & nbLignes).Formula = "=SUM(H6:I6)"
Range("K6:K" & nbLignes).Formula = "=H6/J6"
Range("K6:K" & nbLignes).NumberFormat = "00.00%" 'formater en pourcentage
Range("L6:L" & nbLignes).Formula = "=I6/J6"
Range("L6:L" & nbLignes).NumberFormat = "00.00%"
Range("M6:M" & nbLignes).Formula = "=J6/2"
Range("N6:N" & nbLignes).Formula = "=H6/2"
Range("O6:O" & nbLignes).Formula = "=I6/2"
End Sub
Sub Entetes()
Range("H5") = "Produit x"
Range("I5") = "Produit y"
Range("J5") = "Total"
Range("K5") = "Ratio x"
Range("L5") = "Ratio y"
Range("M5") = "50% catégorie"
Range("N5") = "50% du x"
Range("O5") = "50% du y"
End Sub |
Partager