Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Concaténer et trier les valeurs d'une colonne.

  • Initiateur de la discussion Initiateur de la discussion xdt03
  • 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 !

X

xdt03

Guest
Bonjour, j'ai regardé un peu partout sur le net et je n'ai rien trouvé qui corresponde à mon besoin.
Je dois créer un calculateur :
- Sur le premier onglet, les utilisateurs doivent pouvoir saisir des pourcentage :

Colonne A / Colonne B
Blé / 10%
Avoine /
Maïs / 50%
Colza / 20%
... ...

- J'ai besoin que sur un autre onglet, une cellule reprenne tous les champs de la colonne A (concaténer) pour lesquels une valeur à été saisie en colonne B. Il faudrait surtout que ces informations soient triées par ordre décroissant de pourcentage.
Exemple : Maïs, Colza, Blé.

J'espère que j'ai été clair, merci d'avance.

Xavier
 
Re : Concaténer et trier les valeurs d'une colonne.

Bonjour Xdt et bienvenu, bonjour le forum,

Je te propose la macro suivante :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel
 
Application.ScreenUpdating = False 'masque les changements à l'écran
'copie le tableau de l'onglet "Feuil1" dans l'onglet "Feuil2
Sheets("Feuil1").Range("A1").CurrentRegion.Copy Sheets("Feuil2").Range("A1")
 
With Sheets("feuil2") 'prend en compte l'onglet "Feuil2"
    'trie le tableau par ordre décroissant des pourcentages
    .Range("A1").CurrentRegion.Sort Key1:=.Range("B1"), Order1:=xlDescending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    'boucle sur toutes les cellules éditées cel de la colonne A contenant un pourcentage
    For Each cel In .Range("A1:A" & .Range("B65536").End(xlUp).Row)
        'concatene en D1 la valeur de la cellule avec la valeur de D1
        .Range("D1").Value = .Range("D1").Value & ", " & cel.Value
    Next cel 'prochaine cellule de la boucle
    .Range("D1").Value = Mid(.Range("d1").Value, 3) 'supprimme la première virgule et l'espace en D1
    .Range("A:C").Delete 'supprime les colonnes A à C
End With 'fin de la prise en compte de l'onglet "Feuil2"
Application.ScreenUpdating = True 'affiche les changements à l'écran
End Sub
 
Dernière édition:
Re : Concaténer et trier les valeurs d'une colonne.


Salut xdt03; salut hoerwind ; salut Robert ; Bonsoir tout le monde;
une solution de votre problème dans la pièce jointe.
et en plus le tableau de la feuille intitulée "tableau dynamique" est dynamique : autrement dit ; vous pouvez ajouter d'autre données à cette table et vous aurez les données désirées dans la feuille "les matières ordonnées" il suffit de copier la formule de al cellule A3 de la feuille "les matières ordonnées".
à essayer
bon courage
 

Pièces jointes

Re : Concaténer et trier les valeurs d'une colonne.

Bonjour,
Merci à tous les trois. Je pense que la solution de Hoerwind correspond à ce que je cherche sans passer par une macro.
Je vais essayé de l'adapter.
Merci encore.
 
- 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

C
Réponses
7
Affichages
1 K
cookies
C
T
Réponses
22
Affichages
6 K
Thibault LB
T
G
Réponses
5
Affichages
2 K
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…