XL 2013 VBA - Concatener lignes ordre alphabétique sur 5 colonnes

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

mmalzert

XLDnaute Occasionnel
Bonjour le forum,

Je cale sur un problème peut etre basique mais je ne trouve rien sur le net qui pourrait m'aider.
Je cherche - en vba - à concatener plusieurs colonnes selon un tri alphabétique.
Je pensais à :
  • extraire les 5 colonnes concernées
  • les transposer
  • les trier croissant
  • les concatener
  • récupérer la valeur de la concatenation
  • réinjecter sur la bonne colonne
  • supprimer le filtre temporaire
Procéder comme cela fonctionnerait mais je ne garanti pas la rapidité de la macro sur plusieurs centaines / milliers de lignes.
Je pense qu'il est possible d'utiliser la fonction Array mais j'avoue ne pas être encore à l'aise avec.

En pièce jointe un exemple avec le résultat attendu.

Merci à tous ceux qui voudront bien m'aider.
 

Pièces jointes

Bonjour.

Avec une fonction perso dans un module standard :
VB:
Option Explicit

Function Conclas(ByVal R As Range) As String
Dim TE(), C As Long, Z As String, TS() As String, PMax As Long, P As Long
TE = R.Value
For C = 1 To UBound(TE, 2)
   Z = TE(1, C)
   If Z <> "" Then
      PMax = PMax + 1: ReDim Preserve TS(1 To PMax)
      For P = PMax To 2 Step -1
         If TS(P - 1) < Z Then Exit For
         TS(P) = TS(P - 1): Next P
      TS(P) = Z: End If: Next C
ConClas = Join(TS, " - ")
End Function
En L2, à propager sur 2 lignes :
Code:
=Conclas(G2:K2)
 
- 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

Discussions similaires

Retour