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

PetitMartin -  
PapyLuc51 Messages postés 4519 Date d'inscription   Statut Membre Dernière intervention   -
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 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 356
 
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
Petitmartin
 
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 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
PetitMartin
 
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 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
PetitMartin
 
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 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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
PetitMartin
 
Génial, merci !
0
PetitMartin
 
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 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 356
 
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 4519 Date d'inscription   Statut Membre Dernière intervention   1 486
 
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