OVH Cloud OVH Cloud

Concaténation simplifiée

15 réponses
Avatar
Grandola
Quelqu'un saurait me dire s'il y a moyen de s'éviter la lourde syntaxe
de la fonction CONCATENER(A1;B1;C1;D1;E1;F1;...;...;...;...;..;L1)

en la remplaçant par une formule du genre :
SUPERCONCATENATION(A1:L1) ?

5 réponses

1 2
Avatar
isabelle
bonjour Rex,

c'est mormal si tu as mis la fonction dans le classeur perso,

tu pourrais enregistrer ce fichier http://cjoint.com/?esdmYUia1U
en .xla et le mettre en référence de macro complémentaire,

isabelle

rthompson a écrit :
Bonjour et merci


Une petite question supplémentaire
Comment se fait-il que je dois mettre

=PERSONAL.XLS!concaaleatoire(D1;C1;B1)

au lieu de

=concaaleatoire(D1;C1;B1)

C'est pas un drame mais je ne comprends pas pourquoi certaine de mes
fonctions perso
passe sans ce bout en plus et d'autres pas

Ils sont tous mis dans des modules attachés à mon fichier de base


A bientôt et MERCI


Rex



"isabelle" a écrit dans le message de news:


une autre plus simple :

Function test(ParamArray Plage()) As String
On Error Resume Next
For i = i To 100
For Each c In Plage(i)
test = test & c
Next
Next
End Function

isabelle

isabelle a écrit :

bonjour Rex,

cette fonction accepte entre 1 et 4 groupe de cellule,

Function SuperCONCATENATION(ByVal Plage1 As Range, Optional Plage2 As
Range, _
Optional Plage3 As Range, Optional Plage4 As Range) As String
On Error Resume Next
For Each c In Plage1
x = x & c.Value
Next
For Each c In Plage2
x = x & c.Value
Next
For Each c In Plage3
x = x & c.Value
Next
For Each c In Plage4
x = x & c.Value
Next
SuperCONCATENATION = x
End Function

isabelle

rthompson a écrit :

OUPSSSSSS

Oublié de dire que, bien sûr, concatenate seul le fait
Mais j'aurais voulu qu'en sélectionnant plusieurs cellule éparpillées il
insère automatiquement un espace entre les textes


Merci

A bientôt

Rex




"rthompson" a écrit dans le message
de news:


Bonsoir

Je plonge dans ce fil avec délectation

Tu viens de proposer un truc que je cherchais à faire depuis un petit
bout de temps

MAIS

Comment faire si les cellules à conco... ne sont pas à la queu leu leu
J'ai essayé =SUPERCONCATENATION(A1;D1;H1) sans succès

Comment faire?


Merci et à bientôt

Rex



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de
news:


Quelqu'un saurait me dire s'il y a moyen de s'éviter la lourde
syntaxe de la fonction
CONCATENER(A1;B1;C1;D1;E1;F1;...;...;...;...;..;L1)
en la remplaçant par une formule du genre :
SUPERCONCATENATION(A1:L1) ?




Une fonction personnalisée : dans un module :

Function SUPERCONCATENATION(plage As Range)
For Each c In plage
x = x & c.Value
Next
SUPERCONCATENATION = x
End Function

Dans la feuille
=SUPERCONCATENATION(A1:L1)

Etc




















Avatar
rthompson
Bonjour et merci

Il y a encore tant de petits trucs que je ne maitrise pas

Par exemple

Si en H1 et en K1 je mets deux dates

Comment faire pour cacher toutes les lignes dont la date (en colonne A)
N'EST PAS ENTRE ces deux dates

Autrement dit je voudrais simplement afficher les lignes dont la date est
entre H1 et K1

Si tu as le temps

En attendant je continue à chercher

MERCI
pour aujourd'hui et pour tes contributions régulières


Rex




"isabelle" a écrit dans le message de news:

bonjour Rex,

c'est mormal si tu as mis la fonction dans le classeur perso,

tu pourrais enregistrer ce fichier http://cjoint.com/?esdmYUia1U
en .xla et le mettre en référence de macro complémentaire,

isabelle

rthompson a écrit :
Bonjour et merci


Une petite question supplémentaire
Comment se fait-il que je dois mettre

=PERSONAL.XLS!concaaleatoire(D1;C1;B1)

au lieu de

=concaaleatoire(D1;C1;B1)

C'est pas un drame mais je ne comprends pas pourquoi certaine de mes
fonctions perso
passe sans ce bout en plus et d'autres pas

Ils sont tous mis dans des modules attachés à mon fichier de base


A bientôt et MERCI


Rex



"isabelle" a écrit dans le message de news:


une autre plus simple :

Function test(ParamArray Plage()) As String
On Error Resume Next
For i = i To 100
For Each c In Plage(i)
test = test & c
Next
Next
End Function

isabelle

isabelle a écrit :

bonjour Rex,

cette fonction accepte entre 1 et 4 groupe de cellule,

Function SuperCONCATENATION(ByVal Plage1 As Range, Optional Plage2 As
Range, _
Optional Plage3 As Range, Optional Plage4 As Range) As String
On Error Resume Next
For Each c In Plage1
x = x & c.Value
Next
For Each c In Plage2
x = x & c.Value
Next
For Each c In Plage3
x = x & c.Value
Next
For Each c In Plage4
x = x & c.Value
Next
SuperCONCATENATION = x
End Function

isabelle

rthompson a écrit :

OUPSSSSSS

Oublié de dire que, bien sûr, concatenate seul le fait
Mais j'aurais voulu qu'en sélectionnant plusieurs cellule éparpillées
il insère automatiquement un espace entre les textes


Merci

A bientôt

Rex




"rthompson" a écrit dans le message
de news:


Bonsoir

Je plonge dans ce fil avec délectation

Tu viens de proposer un truc que je cherchais à faire depuis un petit
bout de temps

MAIS

Comment faire si les cellules à conco... ne sont pas à la queu leu
leu
J'ai essayé =SUPERCONCATENATION(A1;D1;H1) sans succès

Comment faire?


Merci et à bientôt

Rex



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de
news:


Quelqu'un saurait me dire s'il y a moyen de s'éviter la lourde
syntaxe de la fonction
CONCATENER(A1;B1;C1;D1;E1;F1;...;...;...;...;..;L1)
en la remplaçant par une formule du genre :
SUPERCONCATENATION(A1:L1) ?




Une fonction personnalisée : dans un module :

Function SUPERCONCATENATION(plage As Range)
For Each c In plage
x = x & c.Value
Next
SUPERCONCATENATION = x
End Function

Dans la feuille
=SUPERCONCATENATION(A1:L1)

Etc






















Avatar
isabelle
bonjour Rex,

les cellules pour la zone de critere doivent être adjacante et comporter
le titre de colonne à filter
http://cjoint.com/?ese2xjL4Jh

isabelle

rthompson a écrit :
Bonjour et merci

Il y a encore tant de petits trucs que je ne maitrise pas

Par exemple

Si en H1 et en K1 je mets deux dates

Comment faire pour cacher toutes les lignes dont la date (en colonne A)
N'EST PAS ENTRE ces deux dates

Autrement dit je voudrais simplement afficher les lignes dont la date est
entre H1 et K1

Si tu as le temps

En attendant je continue à chercher

MERCI
pour aujourd'hui et pour tes contributions régulières


Rex




"isabelle" a écrit dans le message de news:


bonjour Rex,

c'est mormal si tu as mis la fonction dans le classeur perso,

tu pourrais enregistrer ce fichier http://cjoint.com/?esdmYUia1U
en .xla et le mettre en référence de macro complémentaire,

isabelle

rthompson a écrit :

Bonjour et merci


Une petite question supplémentaire
Comment se fait-il que je dois mettre

=PERSONAL.XLS!concaaleatoire(D1;C1;B1)

au lieu de

=concaaleatoire(D1;C1;B1)

C'est pas un drame mais je ne comprends pas pourquoi certaine de mes
fonctions perso
passe sans ce bout en plus et d'autres pas

Ils sont tous mis dans des modules attachés à mon fichier de base


A bientôt et MERCI


Rex



"isabelle" a écrit dans le message de news:



une autre plus simple :

Function test(ParamArray Plage()) As String
On Error Resume Next
For i = i To 100
For Each c In Plage(i)
test = test & c
Next
Next
End Function

isabelle

isabelle a écrit :


bonjour Rex,

cette fonction accepte entre 1 et 4 groupe de cellule,

Function SuperCONCATENATION(ByVal Plage1 As Range, Optional Plage2 As
Range, _
Optional Plage3 As Range, Optional Plage4 As Range) As String
On Error Resume Next
For Each c In Plage1
x = x & c.Value
Next
For Each c In Plage2
x = x & c.Value
Next
For Each c In Plage3
x = x & c.Value
Next
For Each c In Plage4
x = x & c.Value
Next
SuperCONCATENATION = x
End Function

isabelle

rthompson a écrit :


OUPSSSSSS

Oublié de dire que, bien sûr, concatenate seul le fait
Mais j'aurais voulu qu'en sélectionnant plusieurs cellule éparpillées
il insère automatiquement un espace entre les textes


Merci

A bientôt

Rex




"rthompson" a écrit dans le message
de news:



Bonsoir

Je plonge dans ce fil avec délectation

Tu viens de proposer un truc que je cherchais à faire depuis un petit
bout de temps

MAIS

Comment faire si les cellules à conco... ne sont pas à la queu leu
leu
J'ai essayé =SUPERCONCATENATION(A1;D1;H1) sans succès

Comment faire?


Merci et à bientôt

Rex



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de
news:



Quelqu'un saurait me dire s'il y a moyen de s'éviter la lourde
syntaxe de la fonction
CONCATENER(A1;B1;C1;D1;E1;F1;...;...;...;...;..;L1)
en la remplaçant par une formule du genre :
SUPERCONCATENATION(A1:L1) ?





Une fonction personnalisée : dans un module :

Function SUPERCONCATENATION(plage As Range)
For Each c In plage
x = x & c.Value
Next
SUPERCONCATENATION = x
End Function

Dans la feuille
=SUPERCONCATENATION(A1:L1)

Etc


























Avatar
isabelle
ps/

tu peut les séparer en autant qu'il n'y ai rien entre les deux (I2:J2
vide), la plage de critere sera H1:K2

isabelle

isabelle a écrit :
bonjour Rex,

les cellules pour la zone de critere doivent être adjacante et
comporter le titre de colonne à filter
http://cjoint.com/?ese2xjL4Jh

isabelle

rthompson a écrit :
Bonjour et merci

Il y a encore tant de petits trucs que je ne maitrise pas

Par exemple

Si en H1 et en K1 je mets deux dates

Comment faire pour cacher toutes les lignes dont la date (en colonne
A) N'EST PAS ENTRE ces deux dates

Autrement dit je voudrais simplement afficher les lignes dont la date
est entre H1 et K1

Si tu as le temps

En attendant je continue à chercher

MERCI
pour aujourd'hui et pour tes contributions régulières


Rex




"isabelle" a écrit dans le message de news:


bonjour Rex,

c'est mormal si tu as mis la fonction dans le classeur perso,

tu pourrais enregistrer ce fichier http://cjoint.com/?esdmYUia1U
en .xla et le mettre en référence de macro complémentaire,

isabelle

rthompson a écrit :

Bonjour et merci


Une petite question supplémentaire
Comment se fait-il que je dois mettre

=PERSONAL.XLS!concaaleatoire(D1;C1;B1)

au lieu de

=concaaleatoire(D1;C1;B1)

C'est pas un drame mais je ne comprends pas pourquoi certaine de
mes fonctions perso
passe sans ce bout en plus et d'autres pas

Ils sont tous mis dans des modules attachés à mon fichier de base


A bientôt et MERCI


Rex



"isabelle" a écrit dans le message de news:



une autre plus simple :

Function test(ParamArray Plage()) As String
On Error Resume Next
For i = i To 100
For Each c In Plage(i)
test = test & c
Next
Next
End Function

isabelle

isabelle a écrit :


bonjour Rex,

cette fonction accepte entre 1 et 4 groupe de cellule,

Function SuperCONCATENATION(ByVal Plage1 As Range, Optional
Plage2 As Range, _
Optional Plage3 As Range, Optional Plage4 As Range) As String
On Error Resume Next
For Each c In Plage1
x = x & c.Value
Next
For Each c In Plage2
x = x & c.Value
Next
For Each c In Plage3
x = x & c.Value
Next
For Each c In Plage4
x = x & c.Value
Next
SuperCONCATENATION = x
End Function

isabelle

rthompson a écrit :


OUPSSSSSS

Oublié de dire que, bien sûr, concatenate seul le fait
Mais j'aurais voulu qu'en sélectionnant plusieurs cellule
éparpillées il insère automatiquement un espace entre les textes


Merci

A bientôt

Rex




"rthompson" a écrit dans le
message de news:



Bonsoir

Je plonge dans ce fil avec délectation

Tu viens de proposer un truc que je cherchais à faire depuis un
petit bout de temps

MAIS

Comment faire si les cellules à conco... ne sont pas à la queu
leu leu
J'ai essayé =SUPERCONCATENATION(A1;D1;H1) sans succès

Comment faire?


Merci et à bientôt

Rex



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message
de news:



Quelqu'un saurait me dire s'il y a moyen de s'éviter la
lourde syntaxe de la fonction
CONCATENER(A1;B1;C1;D1;E1;F1;...;...;...;...;..;L1)
en la remplaçant par une formule du genre :
SUPERCONCATENATION(A1:L1) ?





Une fonction personnalisée : dans un module :

Function SUPERCONCATENATION(plage As Range)
For Each c In plage
x = x & c.Value
Next
SUPERCONCATENATION = x
End Function

Dans la feuille
=SUPERCONCATENATION(A1:L1)

Etc




























Avatar
rthompson
Bonjour et merci à toi

Cela fonctionne et cela pourra certainement me servir

Mais pour cette fois-ci je voudrais travailler avec bouton et macro

Je viens d'envoyer un petit poste

Si tu as le temp, jettes-y ton oeil averti

Sinon j'avance, j'avance, j'avance

A très bientôt
Et encore et surtout

MERCI

Rex


"isabelle" a écrit dans le message de news:

bonjour Rex,

les cellules pour la zone de critere doivent être adjacante et comporter
le titre de colonne à filter
http://cjoint.com/?ese2xjL4Jh

isabelle

rthompson a écrit :
Bonjour et merci

Il y a encore tant de petits trucs que je ne maitrise pas

Par exemple

Si en H1 et en K1 je mets deux dates

Comment faire pour cacher toutes les lignes dont la date (en colonne A)
N'EST PAS ENTRE ces deux dates

Autrement dit je voudrais simplement afficher les lignes dont la date est
entre H1 et K1

Si tu as le temps

En attendant je continue à chercher

MERCI
pour aujourd'hui et pour tes contributions régulières


Rex




"isabelle" a écrit dans le message de news:


bonjour Rex,

c'est mormal si tu as mis la fonction dans le classeur perso,

tu pourrais enregistrer ce fichier http://cjoint.com/?esdmYUia1U
en .xla et le mettre en référence de macro complémentaire,

isabelle

rthompson a écrit :

Bonjour et merci


Une petite question supplémentaire
Comment se fait-il que je dois mettre

=PERSONAL.XLS!concaaleatoire(D1;C1;B1)

au lieu de

=concaaleatoire(D1;C1;B1)

C'est pas un drame mais je ne comprends pas pourquoi certaine de mes
fonctions perso
passe sans ce bout en plus et d'autres pas

Ils sont tous mis dans des modules attachés à mon fichier de base


A bientôt et MERCI


Rex



"isabelle" a écrit dans le message de news:



une autre plus simple :

Function test(ParamArray Plage()) As String
On Error Resume Next
For i = i To 100
For Each c In Plage(i)
test = test & c
Next
Next
End Function

isabelle

isabelle a écrit :


bonjour Rex,

cette fonction accepte entre 1 et 4 groupe de cellule,

Function SuperCONCATENATION(ByVal Plage1 As Range, Optional Plage2 As
Range, _
Optional Plage3 As Range, Optional Plage4 As Range) As String
On Error Resume Next
For Each c In Plage1
x = x & c.Value
Next
For Each c In Plage2
x = x & c.Value
Next
For Each c In Plage3
x = x & c.Value
Next
For Each c In Plage4
x = x & c.Value
Next
SuperCONCATENATION = x
End Function

isabelle

rthompson a écrit :


OUPSSSSSS

Oublié de dire que, bien sûr, concatenate seul le fait
Mais j'aurais voulu qu'en sélectionnant plusieurs cellule
éparpillées il insère automatiquement un espace entre les textes


Merci

A bientôt

Rex




"rthompson" a écrit dans le
message de news:



Bonsoir

Je plonge dans ce fil avec délectation

Tu viens de proposer un truc que je cherchais à faire depuis un
petit bout de temps

MAIS

Comment faire si les cellules à conco... ne sont pas à la queu leu
leu
J'ai essayé =SUPERCONCATENATION(A1;D1;H1) sans succès

Comment faire?


Merci et à bientôt

Rex



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de
news:



Quelqu'un saurait me dire s'il y a moyen de s'éviter la lourde
syntaxe de la fonction
CONCATENER(A1;B1;C1;D1;E1;F1;...;...;...;...;..;L1)
en la remplaçant par une formule du genre :
SUPERCONCATENATION(A1:L1) ?





Une fonction personnalisée : dans un module :

Function SUPERCONCATENATION(plage As Range)
For Each c In plage
x = x & c.Value
Next
SUPERCONCATENATION = x
End Function

Dans la feuille
=SUPERCONCATENATION(A1:L1)

Etc




























1 2