Grouper un tableau dans une meme cellule
Résolu
clairede
-
clairede -
clairede -
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!
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!
2 réponses
-
bonjour,
tu as la fonction concatener.
Fais Insertion et insères cette fonction.
=concatener(A1;" (";A2;" )") -
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