Concaténer jusqu'à l'atteinte de 0

Résolu
chat_ Messages postés 3 Statut Membre -  
chat_ Messages postés 3 Statut Membre -
Bonjour,
Je travaille sous excel.
Mes données sont confidentiels du coup je vous ai fait une table avec des données bidon!
Je souhaites concaténer mes lignes jusqu'à ce qu'une colonne contienne un zéro.
Dans mon exemple je voudrais obtenir une colonne code_barre :
1854;189
254;7541;41563;4177
44158;4411;2124
etc...
Mon fichier réel contient 365 lignes avec 30 colonnes...

Merci d'avance pour votre aide.

ps: voici une photo de mon fichier_exemple :


2 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour,
petite précision pour l'arrêt
cellule=0 ou cellule vide ou cellule="" ?

0
chat_ Messages postés 3 Statut Membre
 
je souhaite m'arrêter avant la cellule qui contient 0.
0
via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   2 750
 
Bonjour

Fonction personnalisée à mettre dans un Module (ALT F11 pour ouvrir l'éditeur VBA puis Insertion et Module, copier-coller la macro dans la page blanche et fermer l'éditeur
Function concat(plageD As Range, plageF As Range)
retour = plageD.Value
For n = plageD.Column + 1 To plageF.Column
If Cells(plageD.Row, n) <> 0 Then
retour = retour & ";" & Cells(plageD.Row, n).Value
End If
Next n
concat = retour
End Function


La fonction s'utilise dans une cellule comme tpute fonction Excel avec la syntaxe : =concat(cellule de départ;cellule d'arrivée)
Ainsi dans ton exemple , en G2 la formule =concat(A2:F2) donnera 1854;189

Cdlmnt

0
chat_ Messages postés 3 Statut Membre
 
Merci, votre solution marche parfaitement !
0