Fusionner donnes sélectionnées dans une cellule

Bonjour,

J'ai un fichier avec une colonne (AU) qui contient environ 500 lignes .

J'aimerai une macro (impossible a faire avec "CONCATENER") ou je sélectionne un nombre quelconque de lignes de la colonne (AU) et ensuite coller toutes ces données à la suite l'une de l'autre (separées par un ";") sur une seule ligne dans feuille1 et cellule A1

Merci pour votre aide

Une solution simple :

Option Explicit

Sub Macro1()
    Dim strMot As String, cellule As Range

    For Each cellule In Selection
        strMot = strMot & cellule.Value & ";"
    Next cellule
    Range("A1") = strMot
End Sub

Bonjour à toutes et tous,

Bonjour Optimix,

Une petite variante.
Cdlt.

Public Sub ConcatenateValuesInRange()
Dim Cell As Range, Output As String
    For Each Cell In Selection
        If Not IsEmpty(Cell) Then
            Output = Output & Cell.Value & ";"
        End If
    Next Cell
    Worksheets("Feuil1").Cells(1).Value = Left(Output, Len(Output) - 1)
End Sub

Bonjour,

Merci pour votre aide.

J'essaierai vos solutions dans la journée et je vous tient informé.

Bonne journée à tous

Bonjour,

Merci Jean-Eric, cette macro fonctionne parfaitement

Serait-il possible, lorsqu'une ligne est vide, de ne pas laisser un "blanc" entre deux ";" ?

Le top serait de proposer l'enregistrement dans un document Word

Merci encore

#Chrislecycliste

J'apprécie.

Salut Chrislecycliste,
Salut les as,

autre proposition : tu sélectionnes simplement les cellules désirées pour obtenir ton résultat en [A1].

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Not Intersect(Selection, Columns("AU")) Is Nothing Then _
    If Selection.Count > 1 Then _
        Range("A1").FormulaLocal = "=JOINDRE.TEXTE("";"";VRAI;" & Selection.Address & ")": _
        Columns(1).AutoFit
'
End Sub


A+

Bonjour Optimix,

Pardon d'avoir omis de te remercier pour ta proposition.

Je n'ai pas fait attention et c'est évidemment une erreur de ma part.

Bonjour,

Je n'arrive pas a visualiser le résultat avec ta formule curulis57 . j'ai toujours l'affichage #NOM?

Une idée ?

Merci

Salut Chris,

#NOM signifie qu'Excel ne reconnaît pas le nom de la fonction JOINDRE.TEXTE, disponible depuis la version 2016.
Vérifie la version de ton Excel...

Ceci devrait te donner 16.0 si tu as bien Excel 2016 ou supérieur.

MsgBox Application.Version


A+

version excel

Bonjour,

La fonction Joindre.Texte() n'est diponible que pour Excel 2019 et 365 (ainsi que la version web).
Cdlt.

Salut Jean-Eric,

Ah, oui, tu as raison ! J'avais lu cette info sur un site québécois...
Va falloir trouver autre chose, donc...


A+

Rechercher des sujets similaires à "fusionner donnes selectionnees"