XL 2010 Comment rendre le contenu de toute une colonne en une cellule?

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 !

rima21

XLDnaute Junior
Bonjour tout le monde,

Pourriez vous m'aider à rendre le contenu de toute une colonne en une (1) cellule séparé par un point virgule (😉.
Vous trouverez en pièce jointe mon expression de besoin.
Cordialement.
 
Bonjour,
Bonjour tintin5356,

Notre ami demandeur a excel 2010 dans laquelle la fonction TextJoin n'existe pas dans cette Version,
voici dans le classeur joint une fonction personnalisée nommée 'Joindre'

VB:
Function Joindre(rng As Range)
    Dim valeurs As Variant
    If rng.Columns.Count > rng.Rows.Count Then
        Set rng = rng.Rows(1)
        valeurs = Application.Transpose(Application.Transpose(rng.Value))
    Else
        Set rng = rng.Columns(1)
        valeurs = Application.Transpose(rng.Value)
    End If
    Joindre = Join(valeurs, ";")
End Function

Bon après-midi
 

Pièces jointes

re
bonjour Roblochon ,tintin,zineb91

bien vu le (2 dim) to (1 dim) pour passer le joint avec ton double transpose 😉
j'y aurais pas pensé je me sert de index habituellement

VB:
' exemple de récupération de  colonne vers une variable tableau 1 dim puis string
Sub recup_col()
'récupération colonne 1 en string
    Dim plage, colon&
    plage = Range("A2:Z9000").Value    'rng to variable tableau 2 dim
    colon = 1
    plage = WorksheetFunction.Index(plage, 0, colon)    '(on obtient un tableau(2 dim)
    Debug.Print Join(Application.Transpose(plage), ";")    ' conversion en 1 dim et  en string
End Sub

' exemple de récupération de ligne  vers une variable tableau 1 dim puis string
Sub recup_lig()
'récupération ligne 1 en string
    Dim plage, ligne&
    plage = Range("A2:z100").Value    'rng to variable tableau 2 dim
    ligne = 1
    plage = WorksheetFunction.Index(plage, ligne, 0)  '(on obtient un array(1 dim)
    Debug.Print Join(plage, ";")
End Sub

ta méthode en simplifie l’écriture
 
- 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

Réponses
22
Affichages
804
Réponses
4
Affichages
158
Deleted member 453598
D
Retour