[EXCEL] Tri de données

Fermé
sylvain1222 Messages postés 17 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 juin 2009 - 29 avril 2009 à 12:16
eriiic Messages postés 24602 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 décembre 2024 - 29 avril 2009 à 17:31
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


++
A voir également:

7 réponses

sylvain1222 Messages postés 17 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 juin 2009
29 avril 2009 à 12:28
euh pardon je voudrais que ça affiche:

"Aaa Bbb Ddd Ggg"
0
Mike-31 Messages postés 18351 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 12 décembre 2024 5 108
29 avril 2009 à 13:45
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
sylvain1222 Messages postés 17 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 juin 2009
29 avril 2009 à 14:08
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
sylvain1222 Messages postés 17 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 juin 2009
29 avril 2009 à 14:19
ah ouais en fait ta deuxieme solution marcherait peut etre je vais essayer (sauf que jai 40 ligne :-p ^^)
0

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

Posez votre question
smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 185
29 avril 2009 à 14:23
essayez cette formule
=SI(ET(A:A=A:A;B:B>0);A:A;" ")
0
sylvain1222 Messages postés 17 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 juin 2009
29 avril 2009 à 15:25
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
eriiic Messages postés 24602 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 7 décembre 2024 7 246
29 avril 2009 à 17:31
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