[EXCEL] Tri de données

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

Salut

voila mon probleme sous EXCEL:

j'ai 2 colonnes de ce type:

Aaa 1
Bbb 1
Ccc 0
Ddd 3
Eee 0
Fff 0
Ggg 2

et j'aimerais pouvoir écrire dans UNE autre case de la feuille de calcul les noms de la premiere colonne qui possède un numero superieur à 0 soit ici:

"Aaa Bbb Ccc Ddd"

je ne vois pas trop comment faire (filtres, macro, ou encore plus simples)

PS:je suis debutant

merci d'avance

++
Configuration: Windows XP
Firefox 3.0.8

7 réponses

  1. sylvain1222 Messages postés 17 Date d'inscription   Statut Membre
     
    euh pardon je voudrais que ça affiche:

    "Aaa Bbb Ddd Ggg"
    0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Tes explications ne sont pas très claire, en supposant que tes données sont en colonne A et commencent en A1, tu peux écrire une formule toute simple de ce style

    =A1&" "&A2&" "&A3&" "&A4

    ou avec la fonction Concatener

    =CONCATENER(A1;" ";A2;" ";A3; A4)

    Par contre si en colonne A, tes saisies resemblent à ça "Bbb 1", il faudra passer par la fonction convertir pour isoler l'intervalle et le numéro, pour éviter de concanener une cellule contenant 0 tu devras poser une contitionnelle

    =SI(A1>0;A1&" "&SI(A2>0;A2&" "&SI(A3>0;A3&" "&SI(A4>0;A4))))

    Mais bien d'autres possibilités encore

    A+
    0
  3. sylvain1222 Messages postés 17 Date d'inscription   Statut Membre
     
    merci de ta réponse je vais essayer d'etre un peu plus clair:

    en fait les mots et les numeros sont biens dans 2 colonnes séparées :

    A 1
    B 2
    C 0
    D 4
    E 0
    F 1

    (ces lettres et les chifres sont bien le contenu des cellules des 2 colonnes)

    mais le problème de la première solution que tu me propose avec la concaténation est que c'est manuel, moi je voudrais que ça le fasse automatiquement en fonction des chiffres correspondant dans la deuxieme colonne (=0 ou <>0) c'est à dire que dans le cas au dessus ça m'afficherai "ABDF" mais si je change les numeros correspondant a chaque lettre je voudrais que ça change automatiquement le resultat
    0
  4. sylvain1222 Messages postés 17 Date d'inscription   Statut Membre
     
    ah ouais en fait ta deuxieme solution marcherait peut etre je vais essayer (sauf que jai 40 ligne :-p ^^)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   186
     
    essayez cette formule
    =SI(ET(A:A=A:A;B:B>0);A:A;" ")
    0
  7. sylvain1222 Messages postés 17 Date d'inscription   Statut Membre
     
    smartway, j'ai essayé de bidouillé avec ta formule mais sans résultat (je sais pas si ça vient de moi ou de la formule...)
    0
  8. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    tu n'y arriveras pas sans vba.
    A coller dans un module :
    Function ConcatSi(chaines As Range, valeurs As Range, séparateur As String)
        Dim i As Long
        For i = 1 To valeurs.Cells.Count
            If valeurs(i) > 0 Then rep = rep & séparateur & chaines(i)
        Next i
        ConcatSi = Mid(rep, Len(séparateur) + 1)
    End Function


    ex:
    =ConcatSi(A2:A8;B2:B8;"-")
    A2:A8 : tes chaines
    B2:B8 : tes valeurs
    "-" : le séparateur choisi

    Avec 'insérer / fonction' tu peux choisir tes plages à la souris.
    Il n'y a aucun contrôle, il faut que les plages aient la même taille

    eric
    0