Concaténer en colonne en ignorant une valeur (ici 0)

Fermé
PetitMartin - Modifié le 21 févr. 2021 à 09:42
PapyLuc51 Messages postés 4302 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 avril 2024 - 23 févr. 2021 à 10:32
La question à la con... désolée

J'ai excel 365

Sur la colonne A, partant de A1, j'ai

2
0
3
0
12
5
0
4

Sur la colonne B, partant de B1, j'ai

6
8
0
0
4
9
1
0

Je veux que sur la colonne C, partant de C1, s'affichent les cellules <> 0 des deux précédentes colonnes SVP.

2
3
12
5
4
6
8
4
9
1

Quelles est la formule (que je pense avoir trouvée...) et, surtout, surtout, par pitié, sa syntaxe (pas de VBA svp !)

Si 0 est gênant, la même formule en ignorant les cellules vides ira très bien (je dégage le 0).

Merci beaucoup
A voir également:

8 réponses

Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
22 févr. 2021 à 01:02
Bonjour.

Est-ce que tes 2 listes sont toujours composées de 8 cellules ?
Est-ce que tes 2 listes ont toujours le même nombre de cellules ?
1
Bonjour Raymond,

Est-ce que tes 2 listes sont toujours composées de 8 cellules ?
Est-ce que tes 2 listes ont toujours le même nombre de cellules ?

Non, et Non, c'est pour donner un exemple.

Le nombre cellule varie d'une liste à l'autre (mais au sein des listes, le nombre de cellules est fixe).

Parfois, les nombres peuvent être remplacés par du texte.

Ce que je souhaite est d'éliminer les cellules vides (sans texte ou sans nombre) lors d'une simple concaténation qui se fait en colonne (en ligne, pas de pb). C'est tout, si j'ose dire :-)
0
PapyLuc51 Messages postés 4302 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 avril 2024 1 406
Modifié le 22 févr. 2021 à 10:15
Bonjour PetitMartin,

Je ne sais pas si tu l'as remarqué mais j'ai souligné le mot supprimé les cellules contenant un 0.
Si tu tiens à conserver tes deux colonnes telles quelles il faudra le faire dans des colonnes hors du tableau et faire référence à ces deux nouvelles colonnes pour alimenter ta colonne C.

Je cherche toujours le moyen d'éviter ce calcul intermédiaire.
J'espère que d'autres membres vont s'immiscer comme Raymond, que je salue, l'a fait. Il a certainement une idée ; tu devrais répondre à sa question

Cordialement
1
Euh...

J'ai reçu un mail m'indiquant que a part de PapyLuc51 m'a répondu, mais rien n'apparait...

Désolé
0
PapyLuc51 Messages postés 4302 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 avril 2024 1 406
Modifié le 21 févr. 2021 à 10:17
Bonjour

Excuse moi je l'ai annulée car ça ne correspondait pas à la demande, j'étais parti sur une concaténation des deux colonnes en excluant les 0 et non pas sur une suite : colonne A sans les 0 suivie de colonne B sans les 0.

Ce que j'avais mis aurai inscrit en C1 26 le 2 de A1 et le 6 de B1 or ce n'est pas ce que tu attends.

Désolé de m'être précipité.

Cordialement
0
Bonjour PapyLuc,

Je suis aussi preneur de cette formule, si tu veux bien !

Merci ;-)
0

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

Posez votre question
PapyLuc51 Messages postés 4302 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 avril 2024 1 406
21 févr. 2021 à 13:57
OK

donc pour les deux nombres côte à côte

=SI(A1>0;A1;"")&SI(B1>0;B1;"")


Cette formule donne du texte en résultat

Si tu veux un signe de séparation (exemple tiret du 6) lorsqu'il y a deux nombres à concaténer

=STXT(SI(ET(A1=0;B1=0);"";SI(ET(A1>0;B1>0);A1&"-"&B1;SI(ET(A1>0;B1=0);A1;B1)));1;99)


j'ai ajouter STXT pour transformer en texte lorsqu'il n'y a qu'un seul nombre sur les deux colonnes

En fouillant la toile, j'ai trouvé une formule mais elle recopie toutes les cellules contenant une valeur y compris le 0, il faudrait donc supprimer en amont les cellules contenant 0

=SI(A1="";DECALER(B1;-NBVAL(A:A);0);A1)


Je n'ai pas encore trouvé le moyen de lire uniquement les cellules >0. Il faudra peut-être passer par du VBA

Ce fichier avec les 3 exemples
https://www.cjoint.com/c/KBvm2FbauXr

Cordialement
0
Génial, merci !
0
Ben en fait, je viens de tester, j'ai toujours les O. Même en les supprimant, je me retrouve avec des cellules vides...
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
23 févr. 2021 à 02:07
Salut.
Le nombre cellule varie d'une liste à l'autre. Parfois, les nombres peuvent être remplacés par du texte. Ce que je souhaite est d'éliminer les cellules vides (sans texte ou sans nombre) lors d'une simple concaténation qui se fait en colonne (en ligne, pas de pb). C'est tout, si j'ose dire

Déjà, si tu nous disais comment tu fais en ligne, et si en plus tu nous indiquais cette formule que tu "penses avoir trouvée", cela serait une bonne piste pour nos réflexions.
Parce que d'une part il ne s'agit pas du tout de concaténation, et qu'ensuite la solution n'est pas si simple que tu as l'air de le croire !
Et tu as bien raison de préciser "si j'ose dire", car ou bien il faut du VBA pour écrire une macro, ce que tu refuses d'emblée, ou bien il faut effectuer diverses manipulations (copier, coller, filtrer, trier ...) comme évoqué au post #9 par PapyLuc51 !
0
PapyLuc51 Messages postés 4302 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 25 avril 2024 1 406
23 févr. 2021 à 10:32
Bonjour,

En revenant sur les manipulations intermédiaires, je me suis inspiré du travail de notre ami
Jacques Boisgontier en allant à :

Données Validation / liste conditionnelle en fonction d'une colonne

Travail en 4 étapes

https://www.cjoint.com/c/KBxjFoOUSNQ

Après c'est du VBA

Cordialement
0