Fusionner des valeurs sous excel 2010

Résolu/Fermé
Neophy - 1 juin 2011 à 09:44
 Neophy - 1 juin 2011 à 11:10
Bonjour,

J'aimerai trouver une formule ou une macros sous excel qui me permette de rassembler plusieurs valeurs d'une colonne dans la première cellule en haut de celle ci. Si les valeurs peuvent etre séparer par un point virgule cela serait parfait!

Par exemple, j'ai une colonne allant de A1 à A5:
720
721
825
825
826

Et je voudrai que le tout soit rassembler en A1 sous cette forme:
720; 721; 825; 825; 826

J'ai un très gros tableaux de 8000 lignes et 17 colonnes, et je dois repeter cette opération en diverses endroits, donc une technique rapide ferait gagner un temps de travail non négligeable!

Merci d'avance!


A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
1 juin 2011 à 10:55
Bonjour,
Une formule, au vu du nombre de données à traiter, sera forcément plus fastidieuse qu'une macro.
Je te donne donc un code VBA :
Ce code lance :
- une première boite de dialogue pour te demander la plage de cellules à traiter. Tu peux soit la sélectionner avec la souris, soit y écrire son adresse (exemple : A1:A125)
- une deuxième boite de dialogue pour te demander la cellule ou tu veux placer tes données (séparées d'un ;). Tant que tu ne sélectionnes pas une et une seule cellule cette boite de dialogue apparait.
Tu dis...
Sub SelectionEtConcatenation()
Dim MonTableau() As String
Dim Chaine As String
Dim Plage As Range, Cel As Range, RngDest As Range
Dim j As Integer

Set Plage = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8)
ReDim MonTableau(Plage.Count)
j = 0
For Each Cel In Plage
    MonTableau(j) = Cel.Value
    j = j + 1
Next
For j = 0 To UBound(MonTableau)
    Chaine = Chaine & "; " & MonTableau(j)
Next j
Set RngDest = Application.InputBox("Sélectionnez une cellule !", "Ou voulez vous concaténer vos valeurs?", Type:=8)
    Do While RngDest.Count <> 1
        MsgBox "Merci de sélectionner au moins une cellule, et une seule!"
        Set RngDest = Application.InputBox("Sélectionnez une cellule !", "Ou voulez vous concaténer vos valeurs?", Type:=8)
    Loop
RngDest = Right(Chaine, Len(Chaine) - 2)
Set Plage = Nothing
Set RngDest = Nothing
End Sub


1
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
1 juin 2011 à 11:01
Bonjour,

il existe cette formule :

= A1 & ";" & A2 & ";" & A3 &";" & A4 & ";" & A5

Mais vu que tu as 8000 lignes, confirmes moi que ca peut t'aller
0
Merci pijaku!!

Fantastique! Tu viens de diviser mon temps de travail par 5!

Merci à vos réponses!
0