Concaténer les valeurs des cellules selon leur contenu
13 réponses
Bastien Ragni
Bonjour à tous,
Voilà mon problème.
J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une
chaine de caractère, plusieurs cellules peuvent contenir une chaine de
caractère mais leur nombre (sur 8 cellules) est variable.
Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&"
"&...etc...jusqu'à A8).
Mais cette solution fournit des blancs inutiles et inesthétiques (par
exemple si A1=XX et A8=YY).
Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères?
Merci d'avance aux experts!
(PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bonjour, il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout les blancs multiples conssécutifs ainsi que les blancs de début ou de fin: =SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM()) Bonne chance, JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bonjour,
il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout les
blancs multiples conssécutifs ainsi que les blancs de début ou de fin:
=SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM())
Bonne chance,
JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème.
J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une
chaine de caractère, plusieurs cellules peuvent contenir une chaine de
caractère mais leur nombre (sur 8 cellules) est variable.
Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&"
"&...etc...jusqu'à A8).
Mais cette solution fournit des blancs inutiles et inesthétiques (par
exemple si A1=XX et A8=YY).
Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères?
Merci d'avance aux experts!
(PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bonjour, il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout les blancs multiples conssécutifs ainsi que les blancs de début ou de fin: =SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM()) Bonne chance, JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon classeur a beaucoup progressé depuis que j'ai découvert le forum)
Starwing
Bonjour, Essaie ceci:
Function CONCAT(plage As Range) Application.Volatile For Each c In plage x = x & " " & c.Value Next CONCAT = Right(x, Len(x) - 1) End Function
D'après une idée originale de AV
Starwing
Bonjour,
Essaie ceci:
Function CONCAT(plage As Range)
Application.Volatile
For Each c In plage
x = x & " " & c.Value
Next
CONCAT = Right(x, Len(x) - 1)
End Function
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
"Bastien Ragni" <nospam-bastien.ragni@wanadoo.fr> a écrit dans le message de
news:Onlh2vcvEHA.3276@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Voilà mon problème.
J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une
chaine de caractère, plusieurs cellules peuvent contenir une chaine de
caractère mais leur nombre (sur 8 cellules) est variable.
Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&"
"&...etc...jusqu'à A8).
Mais cette solution fournit des blancs inutiles et inesthétiques (par
exemple si A1=XX et A8=YY).
Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères?
Merci d'avance aux experts!
(PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum.
Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Starwing
Bonjour,
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bonjour,
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
;-))
Starwing
"Jacky" <delaenlevezjusquiciJacky.jaeg@wanadoo.fr> a écrit dans le message
de news:eaaq0AdvEHA.3976@TK2MSFTNGP09.phx.gbl...
"Bastien Ragni" <nospam-bastien.ragni@wanadoo.fr> a écrit dans le message
de
news:Onlh2vcvEHA.3276@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Voilà mon problème.
J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une
chaine de caractère, plusieurs cellules peuvent contenir une chaine de
caractère mais leur nombre (sur 8 cellules) est variable.
Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&"
"&...etc...jusqu'à A8).
Mais cette solution fournit des blancs inutiles et inesthétiques (par
exemple si A1=XX et A8=YY).
Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères?
Merci d'avance aux experts!
(PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum.
Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bastien Ragni
Merci Pita, J'ai essayé mais cette solution supprime aussi les " " que j'introduit pour séparer visuellement les chaines de caractères. J'obtiens XXYY. XX YY serait plus clair. "Pita" a écrit dans le message de news:
Bonjour, il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout les blancs multiples conssécutifs ainsi que les blancs de début ou de fin: =SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM()) Bonne chance, JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon classeur a beaucoup progressé depuis que j'ai découvert le forum)
Merci Pita,
J'ai essayé mais cette solution supprime aussi les " " que j'introduit pour
séparer visuellement les chaines de caractères.
J'obtiens XXYY.
XX YY serait plus clair.
"Pita" <jppita@videotron.ca> a écrit dans le message de news:
27FBA39F-425D-4965-BF6D-F57547BD1E78@microsoft.com...
Bonjour,
il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout
les
blancs multiples conssécutifs ainsi que les blancs de début ou de fin:
=SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM())
Bonne chance,
JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème.
J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une
chaine de caractère, plusieurs cellules peuvent contenir une chaine de
caractère mais leur nombre (sur 8 cellules) est variable.
Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&"
"&...etc...jusqu'à A8).
Mais cette solution fournit des blancs inutiles et inesthétiques (par
exemple si A1=XX et A8=YY).
Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères?
Merci d'avance aux experts!
(PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum.
Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Merci Pita, J'ai essayé mais cette solution supprime aussi les " " que j'introduit pour séparer visuellement les chaines de caractères. J'obtiens XXYY. XX YY serait plus clair. "Pita" a écrit dans le message de news:
Bonjour, il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout les blancs multiples conssécutifs ainsi que les blancs de début ou de fin: =SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM()) Bonne chance, JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bastien Ragni
Merci Starwing, mais je ne comprends pas tout (je ne suis pas bon en VB). Avant tes lignes, si j'écris: Range("A1:A8").Select auquel cas "il" me réclame un End Sub sur cette ligne!! Si j'écris CONCAT("A1:A8" As Range) je commets une erreur de syntaxe. Comment dois-je indiquer la plage de cellules? Merci pour tes précisions. "Starwing" a écrit dans le message de news:
Bonjour, Essaie ceci:
Function CONCAT(plage As Range) Application.Volatile For Each c In plage x = x & " " & c.Value Next CONCAT = Right(x, Len(x) - 1) End Function
D'après une idée originale de AV
Starwing
Merci Starwing,
mais je ne comprends pas tout (je ne suis pas bon en VB).
Avant tes lignes, si j'écris:
Range("A1:A8").Select
auquel cas "il" me réclame un End Sub sur cette ligne!!
Si j'écris CONCAT("A1:A8" As Range) je commets une erreur de syntaxe.
Comment dois-je indiquer la plage de cellules?
Merci pour tes précisions.
"Starwing" <ubik10@hotmail.com> a écrit dans le message de news:
uj8yf9cvEHA.2520@TK2MSFTNGP15.phx.gbl...
Bonjour,
Essaie ceci:
Function CONCAT(plage As Range)
Application.Volatile
For Each c In plage
x = x & " " & c.Value
Next
CONCAT = Right(x, Len(x) - 1)
End Function
Merci Starwing, mais je ne comprends pas tout (je ne suis pas bon en VB). Avant tes lignes, si j'écris: Range("A1:A8").Select auquel cas "il" me réclame un End Sub sur cette ligne!! Si j'écris CONCAT("A1:A8" As Range) je commets une erreur de syntaxe. Comment dois-je indiquer la plage de cellules? Merci pour tes précisions. "Starwing" a écrit dans le message de news:
Bonjour, Essaie ceci:
Function CONCAT(plage As Range) Application.Volatile For Each c In plage x = x & " " & c.Value Next CONCAT = Right(x, Len(x) - 1) End Function
D'après une idée originale de AV
Starwing
Jacky
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
Alors comme cela =SI(A1<>"";A1&" ";"")&SI(B1<>"";B1& " ";"")&SI(C1<>"";C1&" ";"")&SI(D1<>"";D1&" ";"")&SI(E1<>"";E1&" ";"")&SI(F1<>"";F1&" ";"")&SI(G1<>"";G1&" ";"")&SI(H1<>"";H1;"") etc...etc...jusqu'à IU
;o)) JJ (pas fainéant)
"Starwing" a écrit dans le message de news:u3bR%
Bonjour,
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum.
Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
Alors comme cela
=SI(A1<>"";A1&" ";"")&SI(B1<>"";B1& " ";"")&SI(C1<>"";C1&"
";"")&SI(D1<>"";D1&" ";"")&SI(E1<>"";E1&" ";"")&SI(F1<>"";F1&"
";"")&SI(G1<>"";G1&" ";"")&SI(H1<>"";H1;"") etc...etc...jusqu'à IU
;o))
JJ (pas fainéant)
"Starwing" <ubik10@hotmail.com> a écrit dans le message de
news:u3bR%23DdvEHA.3488@TK2MSFTNGP10.phx.gbl...
Bonjour,
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
;-))
Starwing
"Jacky" <delaenlevezjusquiciJacky.jaeg@wanadoo.fr> a écrit dans le message
de news:eaaq0AdvEHA.3976@TK2MSFTNGP09.phx.gbl...
"Bastien Ragni" <nospam-bastien.ragni@wanadoo.fr> a écrit dans le
message
de
news:Onlh2vcvEHA.3276@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Voilà mon problème.
J'ai 8 cellules contenant une chaine de caractères (initiales de
noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une
chaine de caractère, plusieurs cellules peuvent contenir une chaine de
caractère mais leur nombre (sur 8 cellules) est variable.
Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&"
"&...etc...jusqu'à A8).
Mais cette solution fournit des blancs inutiles et inesthétiques (par
exemple si A1=XX et A8=YY).
Avez-vous une solution pour ne concaténer QUE les cellules contenant
les
chaines de caractères?
Merci d'avance aux experts!
(PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce
forum.
Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
Alors comme cela =SI(A1<>"";A1&" ";"")&SI(B1<>"";B1& " ";"")&SI(C1<>"";C1&" ";"")&SI(D1<>"";D1&" ";"")&SI(E1<>"";E1&" ";"")&SI(F1<>"";F1&" ";"")&SI(G1<>"";G1&" ";"")&SI(H1<>"";H1;"") etc...etc...jusqu'à IU
;o)) JJ (pas fainéant)
"Starwing" a écrit dans le message de news:u3bR%
Bonjour,
Encore une chance que ça n'allait pas jusqu'à la colonne IU...
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum.
Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Starwing
Bonjour,
Ceci est une Fonction VBA, Une formule que l'on invente parce qu'elle n'existe pas dans Excel.
Pour l'utilisation, il faut le mettre dans un module standard. Suivre les instructions suivantes: ALT+F11 Insertion- Module Dans le module, copiez le code suivant:
Function CONCAT(plage As Range) Application.Volatile For Each c In plage x = x & " " & c.Value Next CONCAT = Right(x, Len(x) - 1) End Function
Sortir en cliquant sur le X en haut à droite
Revenir sur ta feuille Excel. Dans une cellule que tu auras choisi, tu écris =CONCAT(A1:A8)
Starwing
Bonjour,
Ceci est une Fonction VBA, Une formule que l'on invente parce qu'elle
n'existe pas dans Excel.
Pour l'utilisation, il faut le mettre dans un module standard.
Suivre les instructions suivantes:
ALT+F11
Insertion- Module
Dans le module, copiez le code suivant:
Function CONCAT(plage As Range)
Application.Volatile
For Each c In plage
x = x & " " & c.Value
Next
CONCAT = Right(x, Len(x) - 1)
End Function
Sortir en cliquant sur le X en haut à droite
Revenir sur ta feuille Excel.
Dans une cellule que tu auras choisi, tu écris =CONCAT(A1:A8)
Ceci est une Fonction VBA, Une formule que l'on invente parce qu'elle n'existe pas dans Excel.
Pour l'utilisation, il faut le mettre dans un module standard. Suivre les instructions suivantes: ALT+F11 Insertion- Module Dans le module, copiez le code suivant:
Function CONCAT(plage As Range) Application.Volatile For Each c In plage x = x & " " & c.Value Next CONCAT = Right(x, Len(x) - 1) End Function
Sortir en cliquant sur le X en haut à droite
Revenir sur ta feuille Excel. Dans une cellule que tu auras choisi, tu écris =CONCAT(A1:A8)
Starwing
Pita
Bonjour, Relisez ce que je vous suggère... (=SUPPRESPACE(A1 & " " & A2& " " &...A8))... la fonction "SUPPRESPACE" doit s'appliquer à l'ensemble de votre concaténation incluant vos espaces de séparation et non à chaque fragment que vous voulez concaténer... sans rancune, JPP
"Bastien Ragni" wrote:
Merci Pita, J'ai essayé mais cette solution supprime aussi les " " que j'introduit pour séparer visuellement les chaines de caractères. J'obtiens XXYY. XX YY serait plus clair. "Pita" a écrit dans le message de news:
Bonjour, il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout les blancs multiples conssécutifs ainsi que les blancs de début ou de fin: =SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM()) Bonne chance, JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bonjour,
Relisez ce que je vous suggère... (=SUPPRESPACE(A1 & " " & A2& " "
&...A8))... la fonction "SUPPRESPACE" doit s'appliquer à l'ensemble de votre
concaténation incluant vos espaces de séparation et non à chaque fragment que
vous voulez concaténer...
sans rancune,
JPP
"Bastien Ragni" wrote:
Merci Pita,
J'ai essayé mais cette solution supprime aussi les " " que j'introduit pour
séparer visuellement les chaines de caractères.
J'obtiens XXYY.
XX YY serait plus clair.
"Pita" <jppita@videotron.ca> a écrit dans le message de news:
27FBA39F-425D-4965-BF6D-F57547BD1E78@microsoft.com...
Bonjour,
il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout
les
blancs multiples conssécutifs ainsi que les blancs de début ou de fin:
=SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM())
Bonne chance,
JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème.
J'ai 8 cellules contenant une chaine de caractères (initiales de noms).
Chaque cellule peut, tour à tour, être vide: une au moins contient une
chaine de caractère, plusieurs cellules peuvent contenir une chaine de
caractère mais leur nombre (sur 8 cellules) est variable.
Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&"
"&...etc...jusqu'à A8).
Mais cette solution fournit des blancs inutiles et inesthétiques (par
exemple si A1=XX et A8=YY).
Avez-vous une solution pour ne concaténer QUE les cellules contenant les
chaines de caractères?
Merci d'avance aux experts!
(PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum.
Mon
classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bonjour, Relisez ce que je vous suggère... (=SUPPRESPACE(A1 & " " & A2& " " &...A8))... la fonction "SUPPRESPACE" doit s'appliquer à l'ensemble de votre concaténation incluant vos espaces de séparation et non à chaque fragment que vous voulez concaténer... sans rancune, JPP
"Bastien Ragni" wrote:
Merci Pita, J'ai essayé mais cette solution supprime aussi les " " que j'introduit pour séparer visuellement les chaines de caractères. J'obtiens XXYY. XX YY serait plus clair. "Pita" a écrit dans le message de news:
Bonjour, il vous suffit d'utiliser la fonction SUPPRESPACE() qui va éliminer tout les blancs multiples conssécutifs ainsi que les blancs de début ou de fin: =SUPPRESPACE(A1 & " " & A2& " " &...A8) (en Anglais =TRIM()) Bonne chance, JPP
"Bastien Ragni" wrote:
Bonjour à tous,
Voilà mon problème. J'ai 8 cellules contenant une chaine de caractères (initiales de noms). Chaque cellule peut, tour à tour, être vide: une au moins contient une chaine de caractère, plusieurs cellules peuvent contenir une chaine de caractère mais leur nombre (sur 8 cellules) est variable. Je souhaite concaténer leurs valeurs avant impression (A1&" "&A2&" "&...etc...jusqu'à A8). Mais cette solution fournit des blancs inutiles et inesthétiques (par exemple si A1=XX et A8=YY). Avez-vous une solution pour ne concaténer QUE les cellules contenant les chaines de caractères? Merci d'avance aux experts! (PS: c'est toujours un réel plaisir pour moi que d'écrire sur ce forum. Mon classeur a beaucoup progressé depuis que j'ai découvert le forum)
Bastien Ragni
Ouaaaah, c'est class! ça m'ouvre des possibilités! Merci beaucoup Starwing! "Starwing" a écrit dans le message de news:
Bonjour,
Ceci est une Fonction VBA, Une formule que l'on invente parce qu'elle n'existe pas dans Excel.
Pour l'utilisation, il faut le mettre dans un module standard. Suivre les instructions suivantes: ALT+F11 Insertion- Module Dans le module, copiez le code suivant:
Function CONCAT(plage As Range) Application.Volatile For Each c In plage x = x & " " & c.Value Next CONCAT = Right(x, Len(x) - 1) End Function
Sortir en cliquant sur le X en haut à droite
Revenir sur ta feuille Excel. Dans une cellule que tu auras choisi, tu écris =CONCAT(A1:A8)
Starwing
Ouaaaah, c'est class!
ça m'ouvre des possibilités!
Merci beaucoup Starwing!
"Starwing" <ubik10@hotmail.com> a écrit dans le message de news:
e5tgabdvEHA.612@TK2MSFTNGP15.phx.gbl...
Bonjour,
Ceci est une Fonction VBA, Une formule que l'on invente parce qu'elle
n'existe pas dans Excel.
Pour l'utilisation, il faut le mettre dans un module standard.
Suivre les instructions suivantes:
ALT+F11
Insertion- Module
Dans le module, copiez le code suivant:
Function CONCAT(plage As Range)
Application.Volatile
For Each c In plage
x = x & " " & c.Value
Next
CONCAT = Right(x, Len(x) - 1)
End Function
Sortir en cliquant sur le X en haut à droite
Revenir sur ta feuille Excel.
Dans une cellule que tu auras choisi, tu écris =CONCAT(A1:A8)
Ouaaaah, c'est class! ça m'ouvre des possibilités! Merci beaucoup Starwing! "Starwing" a écrit dans le message de news:
Bonjour,
Ceci est une Fonction VBA, Une formule que l'on invente parce qu'elle n'existe pas dans Excel.
Pour l'utilisation, il faut le mettre dans un module standard. Suivre les instructions suivantes: ALT+F11 Insertion- Module Dans le module, copiez le code suivant:
Function CONCAT(plage As Range) Application.Volatile For Each c In plage x = x & " " & c.Value Next CONCAT = Right(x, Len(x) - 1) End Function
Sortir en cliquant sur le X en haut à droite
Revenir sur ta feuille Excel. Dans une cellule que tu auras choisi, tu écris =CONCAT(A1:A8)