Récupérer info dans fichier excel

NicoB -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaite faire un tests de type :
=SI(OngletX!C6="GRP_recup";OngletX!A6";"")
Mais sur plusieurs lignes et le résultat de chaque ligne serais répertorié dans une seule cellule séparé par des points virgules.

Pouvez vous me donner un coup de main ?
Merci

4 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    bonjour,

    voici comment écrire ta formule :

    =SI(nomfeuille!C6="GRP_recup";nomfeuille!A6;"")

    nomfeuille étant le nom de ta feuille si j e la remplaces par un nom de feuille = X :
    =SI(X!C6="GRP_recup";X!A6;"")

    si ton nom de feuilles est OngletX :
    =SI(OngletX!C6="GRP_recup";OngletX!A6;"")
    0
    1. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
       
      Tu n'as répondu qu'à la moitié (la plus facile) de la question ...
      0
  2. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Bonjour NicoB.
    Tu as évalué le nombre de caractères qui risquent de se retrouver dans ta cellule unique ? Au-delà de 255 tu auras des problèmes ...
    0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour tout le monde,

    exemple pour 2 cellules :
    =SI(OngletX!C6="GRP_recup";OngletX!A6;"") & ";" & SI(OngletX!C7="GRP_recup";OngletX!A7;"")

    eric
    0
  4. NicoB
     
    Merci de vos nombreuses réponses. Eric ta formule est correct mais je le faire sur des milliers de cellules et après avoir parcouru de nombreux forum, je me suis aperçu que je n'avais pas d'autres choix que de créer une fonction à l'aide d'une macro (ce que je ne voulais surtout pas faire). Cette macro m'aurait permis de faire une recherche sur un mot clé et dès qu'elle l'aurais trouvé m'aurais renvoyé la valeur de la colonne à côté le tout en continuant la recherche sur les lignes qui suivent.
    Je vous remercie d'avoir passé du temps pour moi, bonne continuation.
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Tu décris incomplètement ton problème...
      Si ça t'intéresse une fonction que j'avais réalisé pour concaténer les cellules d'une plage avec choix du séparateur :
      Function ConcatPlage(plage As Variant, separateur As String) As String
          Dim c As Range
          Dim rep As String
          For Each c In plage
              rep = rep & separateur & c.Value
          Next c
          ConcatPlage = Mid(rep, Len(separateur) + 1)
      End Function

      Tu peux mixer cellules individuelle et plages à condition d'encadrer par des ( ),
      ex: =ConcatPlage((A2;A4;A6:A7);" ")
      http://www.cijoint.fr/cjlink.php?file=cj201107/cijrNJ8HJv.xls

      eric
      0