Excel : Fusionner sans perte (macro ?)

Résolu/Fermé
alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009 - 10 nov. 2009 à 19:47
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 12 nov. 2009 à 21:54
Bonjour,

Je cherche un type de macro permettant de fusionner des cellules dans une colonne avec les conditions suivantes :

Sélectionner les cellules à partir d'un caractère spécial (*)
Fin de sélection après une cellule vide (inclue dans la sélection)
(si plus de deux cellule vide, n'inclure que la première)
fusionner leurs contenu dans la première cellule sélectionnée en insérant un espace entre chaque

puis

Sélectionner à partir de la prochaine cellule avec toujours le même caractère spécial et recommencer le processus jusqu'à la fin de la colonne.

Toutes les données sont dans la même colonne.

Quelqu'un a-t-il déjà eu ce type de problème à résoudre ?

J'ai pensé à faire tout ceci manuellement, mais avec environ 12 000 lignes, je trouve intéressant de chercher une solution plus rapide.

D'avance, un grand merci à ceux qui pourront m'aider !!!

Alesque.
A voir également:

15 réponses

alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009
11 nov. 2009 à 12:42
Bonjour à tous,

Un petit "up" pour savoir si quelqu'un a une solution ou si je me lance dans une modification manuelle.

Merci (même si c'est pas possible).
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
11 nov. 2009 à 13:23
Bonjour,

Un 1er jet pour voir si ça correspond à ton besoin : alesque51.xls

Sans autre précision j'ai laissé l'* et je supprime la cellule (pas la ligne) si concaténation.
La colonne et la 1ère ligne traitée doivent être fixées dans le code de la macro (ici A et 2)

eric
0
alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009
11 nov. 2009 à 14:00
C'est vraiment génial !

Sur mon fichier, toutes les cellules qui ne sont pas vides ont une * au début.

J'ai fait un test avec un bout de ma colonne mais ça ne fonctionne pas.

J'essaye de voir pourquoi, je fais d'autres tests et je reviens,

Merci beaucoup, ça redonne espoir !

(je peux peut-être mettre un bout de mon fichier pour te montrer mais je sais pas comment on fait)

Edit, je viens de faire un test et ça fonctionne sauf que j'ai du texte à coté de l'* de la première cellule sélectionnée.

Re-edit : voici le lien avec un extrait de mon fichier : http://www.cijoint.fr/cjlink.php?file=cj200911/cijjPAZ69s.xls

La colonne "R" est celle qui doit être modifiée
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
11 nov. 2009 à 15:07
Avec ta description je ne voyais pas ton fichier ainsi...
Précise ce qu'il faut faire :
- concaténer toutes les cellules remplies consécutives
- Faut-il supprimer les *
- Faut-il supprimer, vider ou ne rien faire sur ces cellules (à part les 1ères bien sûr) ?
- Si suppression faut-il supprimer la cellule ou la ligne complète ?

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009
11 nov. 2009 à 15:14
Si :

*xxx
*xxxx
*xxxx

*xxxxxxx
*xxxx
*xxxxxxxx
*xxxxxxxxxx

Pouvait se transformer en :

*xxx *xxxx *xxxx



*xxxxxxx *xxxx *xxxxxxxx *xxxxxxxxxx

Ce serait idéal, il n'est pas nécessaire de supprimer les *, si on peut ajouter un espace entre les données, c'est mieux, et il faut que les données déplacées le soient dans la même ligne que la première sélectionnée sans supprimer les autres. Il ne faut donc pas supprimer la cellule ni la ligne, juste les copier dans la première cellule.

Je sais pas si je suis très clair.. Si je ne le suis pas, je modifie manuellement mon exemple et le renvoi.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
11 nov. 2009 à 15:18
adaptation en attendant tes réponses : alesque51_2.xls

Certaines cellules sont bien remplies, il faudra tenir compte des limitations d'excel :
32767 caractères max, et 1024 seulement visualisables dans la cellule (la totalité dans la zone d'édition des formules) pour excel 2003.

eric
0
alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009
11 nov. 2009 à 15:29
Pour la limitation de Excel, je peux diviser le fichier, ça va.

Je ne comprends pas le dernier fichier,

En fait il ne faut pas changer le nombre total de ligne, aucune suppression.

Je fais un deuxième fichier en manuel pour te montrer le résultat que je voudrais.

Merci de ton aide.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
11 nov. 2009 à 15:37
le fichier précédent c'était à mon idée en attendant tes réponses...
regarde celui là : alesque51_3.xls

eric

EDIT :
Pour les limitations d'excel il ne s'agit pas de diviser le fichier mais de limiter la concaténation au nombre de caractères maxi par cellule...
On peut mettre un fond rose si + de 255 caractères (lire la totalité dans la zone d'édition des formules) et un fond rouge si plus de 32767 car. (perte de données)
0
alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009
11 nov. 2009 à 15:57
Voici le premier fichier modifié : http://www.cijoint.fr/cjlink.php?file=cj200911/cijWQQZ7Hn.xls

Le nombre de ligne n'a pas changé.

Je teste ton fichier et je te dis si ça va.
0
alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009
11 nov. 2009 à 16:11
En fait, sur le dernier fichier que tu as envoyé, je n'arrive pas à lancer la macro, c'est bien contat ?
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
11 nov. 2009 à 16:42
La macro c'est 'concat', je viens de tester c'est ok
0
alesque51 Messages postés 14 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 9 décembre 2009
12 nov. 2009 à 16:23
Eh bien voilà, ta macro a marché parfaitement, j'ai tout mon fichier exactement comme je voulait, je te dois une fière chandelle !!!

Si jamais tu as besoin d'un conseil en lutherie, tu es le bienvenu ! (même si ça n'avait pas marché d'ailleurs).

Mille mercis et longue vie à votre forum !

Alesque.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
12 nov. 2009 à 18:36
Ok, très bien :-)
Merci pour le retour et je penserai à toi lorsque je me mettrai au violon, des fois que tu aies des prix sur les stradivarius ;-)
Bonne continuation
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
12 nov. 2009 à 21:45
bonjour Éric

Faut une belle intuition pour résoudre un sujet qui me laissait perplexe mais comme d'habitude tu as vu juste. Pas doué pour la musique mais pas non plus l'idée d'un tel classeur...

Tu veux te mettre au violon : pourquoi pas ?
De toute façon il vaut mieux s'y mettre que de s'y retrouver :)

à bientôt, bien amicalement.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
12 nov. 2009 à 21:54
Salut gb,

Faut une belle intuition
heuu, j'ai pas eu bon du 1er coup, ni du 2ème d'ailleurs... ;-)

Vu le fichier c'est plutôt à la harpe celtique qu'il faudrait que je me mette.
J'ai surtout vu des binious et des bombardes dans les bagads, je me demande à quoi ressemblent ces harpes :-)

Bonne soirée
eric
0