Trier des données d'un tableau

  • Initiateur de la discussion Initiateur de la discussion cdestaillats
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cdestaillats

Guest
Bonjour à tous,

Je suis actuellement confronté à un problème que je n'arrive pas à résoudre faute de connaissance suffisante sous VBA. Je m'explique, il s'agit d'une feuille regroupant des références (voir colonne A feuille:LISTE) qui peuvent se répéter avec pour chacune d'entre elles une quantité associée. J'aimerais pouvoir grâce à une macro, recopier sur une deuxième feuille la référence unique avec la somme des quantités.
J'espère avoir été suffisamment clair, je vous remercie par avance pour votre aide
 

Pièces jointes

Re : Trier des données d'un tableau

Merci de vos réponses, pour remettre dans le contexte, mon fichier à traiter contient plus de 6000 lignes et une vingtaine de colonnes. Je me suis dis, qu'éventuellement sur un petit exemple j'arriverai à le développer sur mon application.

Le tableau dynamique ne me convient pas parce qu'il s'agit d'un outils trop figé et j'ai besoin ici d'appliquer des formules aux résultats de la macro.
C'est pourquoi j'ai opté pour une macro. De plus le temps de calcul sur mon fichier d'origine est trop long.

PS: Gerard, lorsque j'ouvre ton fichier j'ai #NOM? dans les cases.
 
Re : Trier des données d'un tableau

Bonjour,
Re James🙂

sur la base du fichier joint au post#1 ; avec une macro d'extraction et une formule de comptage(idem James)

C'est rapide.
Code:
Sub Extraction()
    Const formule As String = "=SUMIF(LISTE!RC[-1]:R[@]C[-1],Bibliothèque!RC[-1],LISTE!RC:R[@]C)"
    Dim DerLigneA As Long, DerLigneB As Long
    Sheets("Bibliothèque").UsedRange.Clear
    With Sheets("LISTE")
        DerLigneA = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range("A1:A" & DerLigneA).AdvancedFilter _
                Action:=xlFilterCopy, _
                CopyToRange:=Sheets("Bibliothèque").Range("A1"), Unique:=True
    End With
    With Sheets("Bibliothèque")
        DerLigneB = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range("B1") = "Qté"
        With .Range("B2:B" & DerLigneB)
            .Formula = Replace(formule, "@", DerLigneA)
            .Value = .Value
        End With
    End With
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
2
Affichages
848
Dafaka7
D
L
Réponses
33
Affichages
4 K
Léraud Florian
L
I
Réponses
7
Affichages
2 K
desquiens.gabriel@hotmail
D
T
  • Résolu(e)
Réponses
6
Affichages
888
Turbine-Compresseur
T
T
Réponses
5
Affichages
1 K
Thomexcel
T
J
Réponses
1
Affichages
2 K
Retour