Excel, formules

Résolu
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... ;-)
Configuration: Windows Vista
Internet Explorer 7.0

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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.
    1. Modérateur
      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

      1. euhhh moi j'y connait pas grand chose... le code que tu me donne... il faut le mettre où?
    2. 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)

      1. Modérateur
        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+
        1. 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)

          1. MERCI beaucoup pour vos réponses !!!!
        2. Modérateur
          Bonsoir et ravie que nous ayons pu t'apporter une réponse.
          bonne nuit