XL 2016 concatenation ligne par ligne

Jlvk62

XLDnaute Nouveau
Bonsoir à toutes et tous,
Mon tableau excel regroupe sur deux colonnes des séries et des années.
Chaque cellule de la colonne A peut contenir plusieurs données réparties de 1 à 7 lignes. Les cellules de la colonne B contiendront systématiquement autant de lignes que la cellule adjacente de la colonne A :
SERIEANNEERESUME
Classe 1
Classe 2
Classe 3
Classe 4
Classe 5
Classe 6
Classe 7
2014
2015
2013
2014
2015
2016
2017
Classe 1 - 2014
Classe 2 - 2015
Classe 3 - 2016
Classe 4 - 2017
Classe 5 - 2018
Classe 6 - 2019
Classe 7 - 2020
Je souhaite concaténer les cellules de la colonne A avec celles de la colonne B ligne par ligne comme indiqué ci-dessus.
Je n'ai pour l'instant rien trouvé qui me permette d'automatiser le processus.
Je compte sur les excelliens pour m'aiguiller.
merci.
 

Pièces jointes

  • test.xlsx
    24 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Jlvk62,
Comme le VBA n'est pas interdit, un essai en PJ avec une fonction perso :
VB:
Function Concatène(A$, B$)
    Dim tablo1, tablo2, i%
    tablo1 = Split(A, Chr(10))
    tablo2 = Split(B, Chr(10))
    For i = 0 To UBound(tablo1)
        Concatène = Concatène & tablo1(i) & "-" & tablo2(i) & vbLf
    Next i
End Function
Syntaxe : =Concatène(Chaine1;Chaine2)

NB: J'ai supposé qu'il y avait des erreurs en C2 car les années ne correspondent pas entre col B et C. Sinon j'ai rien compris.
 

Pièces jointes

  • test (3).xlsm
    32.3 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Wayki,
En C1 : =A1&" - "&B1
Les chaines en A2 B2 ont des CHR(10) ce ne sont pas simplement des chaines simples.
1634936121963.png
 

Jlvk62

XLDnaute Nouveau
Merci Sylvanu pour votre retour. Cela fonctionne impeccablement. En effet il y avait une erreur dans la recopie, ce que votre macro évitera. Merci beaucoup. Merci aussi à Wayki même si ce n'était pas ce que je cherchais à obtenir. Cordialement.
 

Statistiques des forums

Discussions
312 104
Messages
2 085 347
Membres
102 868
dernier inscrit
JJV