Concatener et classer par ordre croissant

NoMercy

XLDnaute Nouveau
Bonjour

Pourriez vous m'aider afin de CONCATENER les colonnes B et A en colonne C, avec un tri croissant dans cette colonne C, tout ceci de façon automatique. Je joins à ma demande un exemple TEST.xlsx
D'avance merci.
 

Pièces jointes

  • TEST.xlsx
    9 KB · Affichages: 110
  • TEST.xlsx
    9 KB · Affichages: 116
  • TEST.xlsx
    9 KB · Affichages: 113

david84

XLDnaute Barbatruc
Re : Concatener et classer par ordre croissant

Bonjour,
à tester sur une plage plus importante pour voir si cela fonctionne :
Code:
=INDEX(B$1:B$9&" "&A$1:A$9;DROITE(PETITE.VALEUR(NB.SI(B$1:B$9;"<"&B$1:B$9)+LIGNE(B$1:B$9)/1000;LIGNE());3))
Validation matricielle.
A+
 

david84

XLDnaute Barbatruc
Re : Concatener et classer par ordre croissant

Bonjour,
par macro, une possibilité parmi d'autres :
Code:
Sub tri()
Dim T(), DerLig As Long
Application.ScreenUpdating = False
[C:C].ClearContents
DerLig = Range("B" & Rows.Count).End(xlUp).Row
T = Range("A1:B" & DerLig)
Range("A1:B" & DerLig).Sort Key1:=Range("B1"), Order1:=xlAscending, _
Key2:=Range("A1"), Order2:=xlAscending, Header:=xlGuess
For i = 1 To DerLig
Cells(i, 3).FormulaR1C1 = "=RC[-1]&"" ""&RC[-2]"
Next i
With Range("C1:C" & DerLig)
    .Copy
    .PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End With
With [A1]
    .Select
    .Resize(UBound(T), UBound(T, 2)) = T
End With
Application.ScreenUpdating = True
End Sub
A+
 

NoMercy

XLDnaute Nouveau
Re : Concatener et classer par ordre croissant

R@chid, peux tu me dire à quoi serve les {} dans les formules en colonne C.
Lorsque j'adapte ta formule à mon fichier, je supprime les {}, j'ai toujours une erreur #NOMBRE!
Y a t-il une formule cachée ou autre chose ?
Merci de ta réponse.
 

R@chid

XLDnaute Barbatruc
Re : Concatener et classer par ordre croissant

Bonjour,
Merci à tous pour vos réponses, en plus super rapides.
Je pense utiliser la solution de R@chid, merci beaucoup.
pour moi je voie que celle de notre Cher Ami David84 est la plus belle sans colonne Intermédiaire...

R@chid, peux tu me dire à quoi serve les {} dans les formules en colonne C.
Lorsque j'adapte ta formule à mon fichier, je supprime les {}, j'ai toujours une erreur #NOMBRE!
les {} apparaissent automatiquement après la validation Matricielle, c'est @ dire quand on valide par Ctrl+Maj+Entree Simultanément...

Pour l'erreur Nombre je pense qu'elle vient de PETITE.VALEUR(NB.SI(I$2:I$10;"<"&I$2:I$10);LIGNE()),
car moi j'ai mis la formule en C1 et donc la fonction LIGNE() renvoie dans ce cas 1 et peut être toi tu l'as mis dans une cellule où la ligne est supérieure au nombre de valeurs de la plage...
essayer de Remplacer LIGNE() par LIGNE(A1) ce que je n'aime pas faire pour des raisons pas facile de te les expliquer...
Attention la formule est Matricielle ==> @ valider par Ctrl+Maj+Entree
Amicalement
 

NoMercy

XLDnaute Nouveau
Re : Concatener et classer par ordre croissant

R@chid
Je suis encore novice en Excel, que ce soit ta formule ou celle de David, j'essaie de la comprendre et de l'adapter à mon fichier Excel mais l'erreur NOMBRE subsiste.
Ma colonne intermédiaire est en DG7:DG21 et l'affichage du resultat doit se faire en A20:A34.
Que dois je mettre dans LIGNE ou comment utiliser la formule de David que je comprends à demi ?
Merci de ta comprehension
 

R@chid

XLDnaute Barbatruc
Re : Concatener et classer par ordre croissant

Bonsoir,
en A20, (Pas Testé)
Code:
=INDEX(DG$7:DG$21;EQUIV(PETITE.VALEUR(NB.SI(DG$7:DG$21;"<"&DG$7:DG$21);LIGNES($20:20));NB.SI(DG$7:DG$21;"<"&DG$7:DG$21);0))
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
@ micalement
 

NoMercy

XLDnaute Nouveau
Re : Concatener et classer par ordre croissant

Merci Rachid, mais j'ai trouvé une solution entre temps.
Par contre je profite de tes compétences pour te demander une solution sur une formule quasi identique.
Je voudrais trier 3 colonnes, colonne C étant la référence, mais sans les concatener.
Je joins un nouveau fichier test.
A+
 

Pièces jointes

  • TEST.xlsx
    12.3 KB · Affichages: 69
  • TEST.xlsx
    12.3 KB · Affichages: 60
  • TEST.xlsx
    12.3 KB · Affichages: 72

NoMercy

XLDnaute Nouveau
Re : Concatener et classer par ordre croissant

Merci, vraiment toujours aussi parfait Rachid
J'en profite donc encore pour une autre question sur la fonction RECHERCHE (ou une variante RECHERCHEV...), afin de compiler les résultats de 2 tableaux. Peut-être faut-il utiliser d'autres fonctions ?
Ci joint un nouvel exemple
A+
 

Pièces jointes

  • TEST.xlsx
    12.9 KB · Affichages: 61
  • TEST.xlsx
    12.9 KB · Affichages: 90
  • TEST.xlsx
    12.9 KB · Affichages: 62

Discussions similaires

Réponses
12
Affichages
299

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 974
dernier inscrit
chmikha