Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 18/03/2010, 13h50   #1
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
Par défaut équivalent de =CONCATENER(A1:A23)

bonjour,

je cherche un moyen de simple de concaténer une plage de cellules (avec des formules pas de macro)

donc il me faudrait une sorte de

malheureusement cette formule me retourne #VALEUR!

je précise un

Code :
=CONCATENER(A1;A2;A3;A4;...;A23)
ou un

ne m'interessent pas.

il me faut vraiment concaténer une plage de cellule. sans macro

l'aide de excel sur cette fonction ne m'est d'aucun secours.

suis-je obligé de faire une function custom pour ca ?

fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 18h58   #2
Membre chevronné
 
Avatar de sabzzz
 
Inscription : octobre 2009
Messages : 748
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 748
Points : 771
Points : 771
bonjour,

l'argument de la Function CONCATENER est du texte et non une cellule ou plage de cellules
texte1;texte2; ... représentent les 1 à 30 éléments de texte à assembler
je ne crois pas que tu ai d'autre choix qu'une Function perso.

Code :
1
2
3
4
5
Function MaPlageConcatener(plg As Range) As String
For Each c In plg
MaPlageConcatener = MaPlageConcatener & c
Next
End Function

isabelle
sabzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 09h20   #3
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
aie.

c'est ce que je craignais.

du coup, je vais me taper le warning sécurité Macro à l'ouverture du fichier... :'(

bon, je testerai ca bientôt mais nul doute qu'un truc comme ca doit fonctionner.

qqn a une autre idée au cas où ?
fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 11h02   #4
Membre chevronné
 
Conseil + Formation
Inscription : février 2010
Messages : 459
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Conseil + Formation

Informations forums :
Inscription : février 2010
Messages : 459
Points : 670
Points : 670
Bonjour

Sinon une colonne supplémentaire, mettons en Z ,éventuellement masquée ensuite ou placée sur un autre onglet :

Code :
1
2
3
4
5
6
7
8
 
en ligne 1
=A1
 
en ligne 2
=A2&Z1
 
cette 2ème formule à recopier jusqu'en ligne 23
78chris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2010, 14h07   #5
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
pas mal la feinte.

au moins la solution est vite mise en place

par contre, ca me gonfle de polluer 23 colonnes pour ca.
sachant que la manip concerne plusieurs milliers de lignes ca va faire gonfler le .xls je crains => non ?


(d'autant qu'on ne peut pas utiliser ici le format .xlsx qui compresse le classeur de mémoire :'()
fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2010, 18h03   #6
Membre chevronné
 
Conseil + Formation
Inscription : février 2010
Messages : 459
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Conseil + Formation

Informations forums :
Inscription : février 2010
Messages : 459
Points : 670
Points : 670
Bonjour

Cela n'ajoute qu'une colonne.

On peut placer cette colonne dans un autre onglet

Attention la taille maxi (du moins jusqu'à la version 2003) sera 1024 caractères.
78chris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2010, 08h25   #7
Membre expérimenté
 
Inscription : août 2007
Messages : 671
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 671
Points : 559
Points : 559
Tu peux télécharger des fonctions complémentaires pour Excel. J'ai chargé il y a quelque temps un paquet qui s'appelait "Morefunc" et dans lequel il y avait une fonction de concaténation (MCONCAT) plus sophistiquée que celle de base.

Dernière modification par marc56 ; 24/03/2010 à 08h38.
marc56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2010, 18h39   #8
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
interessant

ce paquet morefunc ?
il est édité par microsoft ?
c'est facile à installer pour un user lambda ?

edit :
c'est gratuit ?
c'est facile à distribuer ? (par exemple en donnant l'url où le télécharger aux personnes qui veulent ouvrir mon classeur)
fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2010, 19h17   #9
Membre expérimenté
 
Inscription : août 2007
Messages : 671
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 671
Points : 559
Points : 559
Le package est gratuit et s'installe tout seul.
Je n'ai jamais eu à m'en plaindre.

Dernière modification par Deepin ; 08/09/2011 à 09h12.
marc56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2010, 19h18   #10
Membre chevronné
 
Avatar de sabzzz
 
Inscription : octobre 2009
Messages : 748
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 748
Points : 771
Points : 771
bonjour fourchette,

Morefunc est distribué en tant que Freeware. L'installation est entièrement automatisée.

Il est utilisable en deux langues, français ou anglais, et est accompagné d'une aide en ligne détaillée.

http://xcell05.free.fr/morefunc/french/

c'est Laurent Longre qui a pondu ce pack, il a gagné un prix microsoft pour cette excellent travail.

isabelle
sabzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2010, 19h30   #11
Membre expérimenté
 
Inscription : août 2007
Messages : 671
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 671
Points : 559
Points : 559
Merci pour ce complément d'info.
marc56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2010, 10h17   #12
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
il fleure bon cet addon morefunc, très bon meme
j'y vois direct des trucs qui m'ont tjs manqué dans excel
mais je pense que ca doit faire l'objet d'une reflexion à part quant à savoir s'il est éligible pour une mise en prod ou non de mon coté.

pour revenir sur la question initiale, je pense qu'on peut conclure par
* soit on se tape un =A1&A2&A3&...&A23 (à taper à la main donc)
* soit un se fait une function custom (qd mm très facile à coder, mais donc warning macro à l'ouverture du classeur)
* soit on passe par la feinte du Z1 contient =A1, du AA1 contient =A2&Z1 qu'on tire ensuite sur le nb de colonnes requises à la dernier on a la bonne valeur
(note pour 78chris => je suis obligé de passer par des colonnes (et non pas par ligne) comme ca car je dois calculer la formule =concatener(A1:A23) pour chaque ligne d'un tableau de plusieurs millieurs de lignes... oui on peut argumenter que excel n'a peut-etre rien à faire pour ca mais c'est hors sujet disons )
* soit on passe par la formule =MCONCAT(Table;Séparateurs) (documentée là http://xcell05.free.fr/morefunc/french/mconcat.htm) issue du plugin excel MOREFUNC

j'ai bon ?

qqn a d'autres idées au cas où ?
fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 17h02.


 
 
 
 
Partenaires

Hébergement Web