Excel, formules

Résolu
b737_400 Messages postés 6 Statut Membre -  
aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Dans une base de donnée excel, j'ai une colonne qui ne contient qu'un seul mot, mais qui peut varier de ligne. Je souhaiterai pouvoir recueillir ce mot à la fin de la colonne.

La fonction concatener marche bien, mais pour ma base de donnée de milliers de lignes, si je doit faire =CONCATENER(A2;A3;A4;A5........A1342) cela va me prendre un temps fou...

Y aurait il par exemple une formule qui prend la somme (en texte), de la colonne... ou le texte le plus haut de la colonne (de toute facon, vu qu'il n'y en a qu'un ce sera celui la..)

Bref, j'aimerai une fonction qui s'écrit comme cela =XXX(A2:A1342) et non pas =XXX(AA2;A3;A4;A5........A1342)

Merci pour vos réponses... ;-)
A voir également:

6 réponses

santiago69 Messages postés 485 Statut Membre 209
 
Je maitrise parfaitement excel et je peux te garantir que je cherche cette fonction depuis longtemps.
En fait, je sais maintenant tres bien qu'elle n'existe pas. Alors j'ai programme la mienne.
Si tu en as absolument besoin et que tu n'a pas trop peur, je peux t'aider a programmer la tienne.
0
aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 304
 
Bonjour,
Il te faudrait créer ta propre fonction dans Visual Basic Editor comme proposé par eriiic dans ce topic, en l'adaptant un peu pour que cela fonctionne comme tu le souhaites, soit, je pense, comme ceci :
Function ConcatPlage(plage As Variant) As String
    Dim c As Range
    Dim rep As String
    For Each c In plage
        rep = rep & c.Value
    Next c
    ConcatPlage = Mid(rep, 1)
End Function


Bonne journée

0
b737_400 Messages postés 6 Statut Membre
 
euhhh moi j'y connait pas grand chose... le code que tu me donne... il faut le mettre où?
0
santiago69 Messages postés 485 Statut Membre 209
 
Menu Outils, Macros, Visual Basic Editor
Dans l'editeur Visual Basic
Menu Insertion, Module
C'est la que tu colle le programme.
Ensuite tu ferme l'editeur (croix en haut a droite) et tu te retrouve dans Excel.
Tu n'as plus qu'a taper la formule
=ConcatPlage(A2:A1342)

0
aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 304
 
Re,
Cela se fait avec Visual Basic Editor, il faut la mettre dans un module regarde ce lien : http://www.commentcamarche.net/faq/sujet 8130 mise a jour d une procedure ou d une fonction en vba
Voici un classeur exemple la contenant : https://www.cjoint.com/?empvYHyOXC
A+
0

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

Posez votre question
santiago69 Messages postés 485 Statut Membre 209
 
Tiens je t'ai simplifie le travail.

1) Telecharge le fichier suivant : http://santiago.news.free.fr/download/toolbox.xla
2) Copie le dans C:\Program Files\Microsoft Office\OFFICE11\Bibliothèque
3) Ouvre Excel
4) Menu Outils, Macros complementaires...
5) Bouton Parcourir
6) Ouvre C:\Program Files\Microsoft Office\OFFICE11\Bibliothèque
7) Bouton OK

Tu peux maintenant utiliser =CONCATPLUS()
Cette fonction s'utilise comme =CONCATENER() avec en plus la possibilite d'utiliser des plages.

Exemples :
=CONCATPLUS("bon","jour")
=CONCATPLUS(A1,A2,A3,A4)
=CONCATPLUS(A2:A443)
=CONCATPLUS("texte",A1,A2:A23)

0
b737_400
 
MERCI beaucoup pour vos réponses !!!!
0
aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 304
 
Bonsoir et ravie que nous ayons pu t'apporter une réponse.
bonne nuit
0