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

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…