Regrouper toutes les cellules avant une ligne vide ensemble

Résolu/Fermé
Charl13M Messages postés 17 Date d'inscription mercredi 7 novembre 2018 Statut Membre Dernière intervention 28 novembre 2022 - 5 juil. 2021 à 11:31
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 5 juil. 2021 à 14:07
Bonjour,

J'ai un fichier Excel avec 2 onglets :
- Dans le premier, j'ai toutes les informations concernant une liste de clients.
- Dans le deuxième, j'ai sur chaque ligne les commandes des clients, séparés par des lignes vides. Si le client a fait plusieurs commandes, celles-ci s'affichent à la suite avant la ligne vide qui sépare la commande du client suivant.

Je vous joins le fichier pour que ce soit plus explicite : https://www.cjoint.com/c/KGfjBUGRzeC

J'aimerais que, dans le premier onglet, les commandes des clients apparaissent en colonne E.
S'il y a plusieurs commandes, elles doivent apparaître dans la même cellule avec un retour à la ligne entre chacune d'entre elles.

En gros, il faut prendre toutes les lignes avant une ligne vide pour les mettre en E2 de l'onglet un, puis toutes les autres lignes avant une ligne vide pour les mettre en E3, et ainsi de suite...

Si possible sans VBA ou matricielle... Merci d'avance !

2 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
5 juil. 2021 à 12:05
Bonjour

Avec vba
https://www.cjoint.com/c/KGfkfHnCgAB

Cdlmnt
0
Charl13M Messages postés 17 Date d'inscription mercredi 7 novembre 2018 Statut Membre Dernière intervention 28 novembre 2022
5 juil. 2021 à 13:38
Bonjour @ccm81,

Merci, c'est exactement ce que je cherchais ! Avec VBA mais je pense que sans ça risque d'être impossible donc je garde cette solution comme la bonne.
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
5 juil. 2021 à 14:07
De rien

Tu peux ajouter cette ligne pour éviter de formater "à la main la colonne résultat
  Sheets(F1).Range(cocomF1 & liF1).Value = s
Sheets(F1).Range(cocomF1 & liF1).WrapText = True


Bon après midi
0