Grouper un tableau dans une meme cellule

Résolu/Fermé
clairede - 21 juin 2011 à 10:28
 clairede - 21 juin 2011 à 11:16
Bonjour,

je suis un peu novice en excel.. et j'ai une question : j'ai un tableau avec une permière colonne avec du texte et l'autre colonne avec des chiffres. J'aimerai pouvoir grouper toutes ces donnés dans une meme cellule du genre :
grenache 450
syrah 250
mourvedre120

et ca donnerait dans une meme cellule : grenache (450) + syrah (250) + mourvèdre (120)

avez vous une solution pour moi svp???
je vous remercie d'avance!

A voir également:

2 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
21 juin 2011 à 10:43
bonjour,

tu as la fonction concatener.
Fais Insertion et insères cette fonction.

=concatener(A1;" (";A2;" )")
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié par pijaku le 21/06/2011 à 11:01
Bonjour,
2 solutions :

Manuellement en utilisant la formule = CONCATENER :
=CONCATENER(A1;" (";B1;") ";A2;" (";B2;") ";A3;" (";B3;")")
ou plus simplement :
=A1&" ("&B1&") "&A2&" ("&B2&") "&A3&" ("&B3&")")

Ou par macro :
Attention, il faut que les cellules soient placées dans 2 colonnes adjacentes, qu'il n'y ait pas de cellule vide et qu'à chaque texte corresponde un nombre...
S'il existe ces possibilités, on peux les gérer... Tu dis!
Code à insérer dans un module standard (ALT+F11 depuis la feuille excel puis Insertion/Module) :

Sub regroupement()  
Dim Plage As Range, Dest As Range, Cel As Range  
Dim TabloStr() As String, TabloNbr() As String  
Dim i As Integer  

    Set Plage = Application.InputBox("Sélectionnez la plage de cellule que vous voulez regrouper", "Sélection de cellules", Type:=8)  
        If Len(Plage.Address) < 5 Then  
            MsgBox "merci de sélectionner plus d'une cellule"  
            Exit Sub  
        End If  
        i = 0  
        For Each Cel In Plage  
            If IsNumeric(Cel.Value) Then  
                ReDim Preserve TabloNbr(i)  
                TabloNbr(i) = "(" & Cel.Value & ")"  
                i = i + 1  
            End If  
        Next  
        i = 0  
        For Each Cel In Plage  
            If Not IsNumeric(Cel.Value) Then  
                ReDim Preserve TabloStr(i)  
                TabloStr(i) = Cel.Value  
                i = i + 1  
            End If  
        Next  
    Set Dest = Application.InputBox("Sélectionnez la cellule de destination", "Sélection de cellules", Type:=8)  
        For i = 0 To UBound(TabloStr)  
            Dest.Value = Dest.Value & TabloStr(i) & " " & TabloNbr(i) & " "  
        Next  
        Dest.Value = Left(Dest.Value, Len(Dest.Value) - 1)  
    Set Plage = Nothing  
    Set Dest = Nothing  
End Sub

Cordialement,
Franck P
0
Merci beaucoup!! ca marche nickel!! (bon j'avoue j'ai fait la méthode manuelle, car j'ai possibilités d'avoir des cellules vides!
encore merci!!
0