Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Besoin d'aide pour une formule

14 réponses
Avatar
bigbrainxx
Bonjour
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
=CB2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)

Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;

Comment modifier ma formule pour n'avoir le séparateur que lorsque la
cellule est remplie?

Je vous remercie par avance pour votre aide.
Bernard.

10 réponses

1 2
Avatar
Modeste
<bigbrainxx a écrit
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)
Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;



une petite fonction perso ;o)))
=javel(CB2&SEP&J2&SEP&F2 etc.)

Function javel(Target) As String
javel = Application.Substitute(Trim(Application.Substitute(Target, Chr(59), "
")), " ", Chr(59))
End Function
Avatar
bigbrainxx
On Fri, 18 Mar 2011 00:31:56 +0100, "Modeste" wrote:



<bigbrainxx a écrit
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)
Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;



une petite fonction perso ;o)))
=javel(CB2&SEP&J2&SEP&F2 etc.)

Function javel(Target) As String
javel = Application.Substitute(Trim(Application.Substitute(Target, Chr(59), "
")), " ", Chr(59))
End Function




Merci pour votre réponse.
Pourriez-vous me donner des explications pour l'exploiter car mon
niveau est faible et ce n'est pas peu dire.......
Ne serait-il pas possible de "simplement" modifier la formule car
ensuite, je la "tire" sur des centaines de lignes?

Bernard.
Avatar
isabelle
bonjour Bernard,

=SUBSTITUE(SUBSTITUE(A1&SEP&B1&SEP&C1&SEP&D1&SEP&E1&SEP&F1;";;";";");";;";";")

isabelle
------------------------------------------------------------------

Le 2011-03-17 17:53, a écrit :
Bonjour
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)

Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;

Comment modifier ma formule pour n'avoir le séparateur que lorsque la
cellule est remplie?

Je vous remercie par avance pour votre aide.
Bernard.

Avatar
bigbrainxx
On Thu, 17 Mar 2011 20:21:19 -0400, isabelle wrote:

bonjour Bernard,

=SUBSTITUE(SUBSTITUE(A1&SEP&B1&SEP&C1&SEP&D1&SEP&E1&SEP&F1;";;";";");";;";";")

isabelle
------------------------------------------------------------------

Le 2011-03-17 17:53, a écrit :
Bonjour
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)

Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;

Comment modifier ma formule pour n'avoir le séparateur que lorsque la
cellule est remplie?

Je vous remercie par avance pour votre aide.
Bernard.






Bonjour Isabelle

J'ai copié votre formule et remplacé les cellules de votre exemple par
les miennes mais sans résultat.

Bernard.
Avatar
isabelle
bonjour Bernard,

si tu peux, mets un exemple dans un fichier
et dépose ce fichier ici :

http://www.cjoint.com
ou ici,
http://www.cijoint.fr/

et reviens ici, donner le lien de téléchargement que le site va générer.
nous pourrons alors le télécharger.

isabelle
------------------------------------------------------------------

Le 2011-03-17 20:53, bigbrainxx a écrit :
On Thu, 17 Mar 2011 20:21:19 -0400, isabelle wrote:


bonjour Bernard,

=SUBSTITUE(SUBSTITUE(A1&SEP&B1&SEP&C1&SEP&D1&SEP&E1&SEP&F1;";;";";");";;";";")

isabelle
------------------------------------------------------------------

Le 2011-03-17 17:53, a écrit :

Bonjour
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)

Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;

Comment modifier ma formule pour n'avoir le séparateur que lorsque la
cellule est remplie?

Je vous remercie par avance pour votre aide.
Bernard.






Bonjour Isabelle

J'ai copié votre formule et remplacé les cellules de votre exemple par
les miennes mais sans résultat.

Bernard.

Avatar
bigbrainxx
Bonjour

Voici le lien pour mon fichier expurgé.

http://cjoint.com/?0dsi9fyBMbT

Encore merci pour votre aide.
Bernard.
-----------------------------------------------------------------------------------------------
On Thu, 17 Mar 2011 22:19:46 -0400, isabelle wrote:

bonjour Bernard,

si tu peux, mets un exemple dans un fichier
et dépose ce fichier ici :

http://www.cjoint.com
ou ici,
http://www.cijoint.fr/

et reviens ici, donner le lien de téléchargement que le site va générer.
nous pourrons alors le télécharger.

isabelle
------------------------------------------------------------------

Le 2011-03-17 20:53, bigbrainxx a écrit :
On Thu, 17 Mar 2011 20:21:19 -0400, isabelle wrote:


bonjour Bernard,

=SUBSTITUE(SUBSTITUE(A1&SEP&B1&SEP&C1&SEP&D1&SEP&E1&SEP&F1;";;";";");";;";";")

isabelle
------------------------------------------------------------------

Le 2011-03-17 17:53, a écrit :

Bonjour
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)

Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;

Comment modifier ma formule pour n'avoir le séparateur que lorsque la
cellule est remplie?

Je vous remercie par avance pour votre aide.
Bernard.






Bonjour Isabelle

J'ai copié votre formule et remplacé les cellules de votre exemple par
les miennes mais sans résultat.

Bernard.

Avatar
michel ou sam
Bonjour,
il faut passer par la suppression d'espace
c'est à dire transformer les séparateurs en espaces, supprimer les espaces
inutiles puis retransformer les espaces en séparateurs
ça donne ceci (sur une seule ligne) :
SUBSTITUE(SUPPRESPACE(SUBSTITUE(A1&";"&A2&";"&A3&";"&A4&";"&A5&";"&A6&";"&A7&";"&A8&";"&A9;";";"
"));" ";";")

ainsi
a;b;;;e;f;;;
se transformera en a;b;e;f



Michel
a écrit dans le message de news:

Bonjour
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)

Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;

Comment modifier ma formule pour n'avoir le séparateur que lorsque la
cellule est remplie?

Je vous remercie par avance pour votre aide.
Bernard.
Avatar
isabelle
bonjour Bernard,

voici ton fichier avec une nouvelle Function,
http://cjoint.com/?1dsoaaJWBxm

Function P_List(ByVal FirstRange As Range, ParamArray OtherRanges()) As
String
For Each c In FirstRange
If Not c = 0 Then P_List = P_List & c & [SEP]
Next c

For y = LBound(OtherRanges) To UBound(OtherRanges)
For Each c In OtherRanges(y)
If Not c = 0 Then P_List = P_List & c & [SEP]
Next c
Next y
End Function

isabelle
------------------------------------------------------------------

Le 2011-03-18 04:04, bigbrainxx a écrit :
Bonjour

Voici le lien pour mon fichier expurgé.

http://cjoint.com/?0dsi9fyBMbT

Encore merci pour votre aide.
Bernard.
-----------------------------------------------------------------------------------------------

Avatar
bigbrainxx
Bonsoir ou Bonjour et merci pour votre aide.

J'ai transposé votre formule et je n'ai plus aucun séparateur (la
formule occupe 2 lignes)
Sans ce problème, c'était super bien pour gérer l'ajout de colonnes.

Bernard.
--------------------------------------------------------------------------------------------
On Fri, 18 Mar 2011 13:49:55 +0100, "michel ou sam"
wrote:

Bonjour,
il faut passer par la suppression d'espace
c'est à dire transformer les séparateurs en espaces, supprimer les espaces
inutiles puis retransformer les espaces en séparateurs
ça donne ceci (sur une seule ligne) :
SUBSTITUE(SUPPRESPACE(SUBSTITUE(A1&";"&A2&";"&A3&";"&A4&";"&A5&";"&A6&";"&A7&";"&A8&";"&A9;";";"
"));" ";";")

ainsi
a;b;;;e;f;;;
se transformera en a;b;e;f



Michel
a écrit dans le message de news:

Bonjour
Je rassemble dans une colonne le contenu de plusieurs colonnes avec
une formule toute simple:
Ë2&SEP&J2&SEP&F2 etc. (SEP est un séparateur ;)

Le problème, c'est que je me retrouve avec tout plein de point-virgule
lorsque des cellules sont vides:
TOTO;;;;;;;;TATA; TUTU;;;;;;;;;;;;;;;;;;;;;;;TITI;;;

Comment modifier ma formule pour n'avoir le séparateur que lorsque la
cellule est remplie?

Je vous remercie par avance pour votre aide.
Bernard.



Avatar
bigbrainxx
Bonsoir Isabelle et merci.

Youpi!!!! Plus de point-virguer inutile.
Cependant, une question: comment gérér l'ajout ou la suppression de
colonnes au niveau de la macro?

Bernard.

--------------------------------------------------

On Fri, 18 Mar 2011 09:01:38 -0400, isabelle wrote:

bonjour Bernard,

voici ton fichier avec une nouvelle Function,
http://cjoint.com/?1dsoaaJWBxm

Function P_List(ByVal FirstRange As Range, ParamArray OtherRanges()) As
String
For Each c In FirstRange
If Not c = 0 Then P_List = P_List & c & [SEP]
Next c

For y = LBound(OtherRanges) To UBound(OtherRanges)
For Each c In OtherRanges(y)
If Not c = 0 Then P_List = P_List & c & [SEP]
Next c
Next y
End Function

isabelle
------------------------------------------------------------------

Le 2011-03-18 04:04, bigbrainxx a écrit :
Bonjour

Voici le lien pour mon fichier expurgé.

http://cjoint.com/?0dsi9fyBMbT

Encore merci pour votre aide.
Bernard.
-----------------------------------------------------------------------------------------------

1 2