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

Formules + Concatenation

4 réponses
Avatar
Christophe Joly
Bonsoir:

J'ai les deux formules suivantes:

Range("C16").Select
ActiveCell.FormulaR1C1 = _

"=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa
nyData,15,TRUE)))"

Range("D16").Select
ActiveCell.FormulaR1C1 = _

"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-2],Compa
nyData,16,TRUE)))"

Je souhaite fusionner les contenus de C16 et de D16 en 1 seule cellule en
C16

Mon niveau débutant me pousserait à faire quelque chose du genre/

Range("E16").Select
ActiveCell.Formula = "=C16&"" ""&D16"
puis à copier/coller la valeur de E16 dand F16 et enfin supprimer vers la
gauche C16:E16 afin que le contenu de F16 se retrouve dans C16

Mais voila je suis sur qu'il y a beaucoup beaucoup plus simple de facon à
éviter les copier/coller inutiles sans doute une formule qui associerait
VLOOKUP et la concatenation?

Merci d'avance pour votre aide.

Christophe

4 réponses

Avatar
Denis Michon
Bonjour Christophe,


Tu as donné la solution, ce n'est pas le fun ...;-)

Range("C16").Select
ActiveCell.Formula = "=IncrisLaFormuledéjàContenudansDeC16 & "" "" & FormuleContenuDansD16"

Pour ce qui est de la formule dans D16, il faudra juste adapter la formule Vlookup, la référence à la colonne où tu
cherches la donnée VLOOKUP(RC[-2] ... le 2 pour un 1.


Salutations!




"Christophe Joly" a écrit dans le message de news:%
Bonsoir:

J'ai les deux formules suivantes:

Range("C16").Select
ActiveCell.FormulaR1C1 = _

"=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa
nyData,15,TRUE)))"

Range("D16").Select
ActiveCell.FormulaR1C1 = _

"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-2],Compa
nyData,16,TRUE)))"

Je souhaite fusionner les contenus de C16 et de D16 en 1 seule cellule en
C16

Mon niveau débutant me pousserait à faire quelque chose du genre/

Range("E16").Select
ActiveCell.Formula = "Á6&"" ""&D16"
puis à copier/coller la valeur de E16 dand F16 et enfin supprimer vers la
gauche C16:E16 afin que le contenu de F16 se retrouve dans C16

Mais voila je suis sur qu'il y a beaucoup beaucoup plus simple de facon à
éviter les copier/coller inutiles sans doute une formule qui associerait
VLOOKUP et la concatenation?

Merci d'avance pour votre aide.

Christophe
Avatar
Christophe Joly
Bonsoir Denis:

Merci. J'ai suivi tes instructions et écrit la formule ci-dessous dans une
macro. J'ai du changer& "" "" & en & " " & car autrement j'obtenais une
erreur de compilation.

ActiveCell.Formula "=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa
nyData,15,TRUE)))" & " " &
"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-1],Compa
nyData,16,TRUE)))"

Malheureusement j'obtiens le résultat FAUX dans C16 alors que je devrais
obtenir un prenom et un nom. Les references de ma feuille et cellules ont
pourtant l'air bonnes.

Quand je vais sur C16 je lis la formule suivante.

=SI(ESTERREUR(RECHERCHEV(B16,USCompanyData,15,VRAI)),"",(RECHERCHEV(B16,USCo
mpanyData,15,VRAI)))
=SI(ESTERREUR(RECHERCHEV(A16,USCompanyData,16,VRAI)),"",(RECHERCHEV(B16,USCo
mpanyData,16,VRAI)))


Aurais-tu une petite ou une grande idée.

Merci.

Christophe
"Denis Michon" a écrit dans le message de
news:BAvtb.33593$
Bonjour Christophe,


Tu as donné la solution, ce n'est pas le fun ...;-)

Range("C16").Select
ActiveCell.Formula = "=IncrisLaFormuledéjàContenudansDeC16 & "" "" &
FormuleContenuDansD16"


Pour ce qui est de la formule dans D16, il faudra juste adapter la formule
Vlookup, la référence à la colonne où tu

cherches la donnée VLOOKUP(RC[-2] ... le 2 pour un 1.


Salutations!




"Christophe Joly" a écrit dans le message de
news:%

Bonsoir:

J'ai les deux formules suivantes:

Range("C16").Select
ActiveCell.FormulaR1C1 = _


"=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa

nyData,15,TRUE)))"

Range("D16").Select
ActiveCell.FormulaR1C1 = _


"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-2],Compa

nyData,16,TRUE)))"

Je souhaite fusionner les contenus de C16 et de D16 en 1 seule cellule en
C16

Mon niveau débutant me pousserait à faire quelque chose du genre/

Range("E16").Select
ActiveCell.Formula = "Á6&"" ""&D16"
puis à copier/coller la valeur de E16 dand F16 et enfin supprimer vers la
gauche C16:E16 afin que le contenu de F16 se retrouve dans C16

Mais voila je suis sur qu'il y a beaucoup beaucoup plus simple de facon à
éviter les copier/coller inutiles sans doute une formule qui associerait
VLOOKUP et la concatenation?

Merci d'avance pour votre aide.

Christophe






Avatar
michdenis
Bonjour Christophe,


Ce doit être un "simple" problème de syntaxe

Un exemple de concaténation que je peux te donner :

Range("B2").FormulaLocal = "=SI(A1=""Denis"";""Denis"";"""") & "" ""&SI(A2=""Michon"";""Michon"";"""")"


Attention aux coupures de la ligne du service de messagerie.



Salutations!


"Christophe Joly" a écrit dans le message de news:
Bonsoir Denis:

Merci. J'ai suivi tes instructions et écrit la formule ci-dessous dans une
macro. J'ai du changer& "" "" & en & " " & car autrement j'obtenais une
erreur de compilation.

ActiveCell.Formula "=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa
nyData,15,TRUE)))" & " " &
"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-1],Compa
nyData,16,TRUE)))"

Malheureusement j'obtiens le résultat FAUX dans C16 alors que je devrais
obtenir un prenom et un nom. Les references de ma feuille et cellules ont
pourtant l'air bonnes.

Quand je vais sur C16 je lis la formule suivante.

=SI(ESTERREUR(RECHERCHEV(B16,USCompanyData,15,VRAI)),"",(RECHERCHEV(B16,USCo
mpanyData,15,VRAI)))
=SI(ESTERREUR(RECHERCHEV(A16,USCompanyData,16,VRAI)),"",(RECHERCHEV(B16,USCo
mpanyData,16,VRAI)))


Aurais-tu une petite ou une grande idée.

Merci.

Christophe
"Denis Michon" a écrit dans le message de
news:BAvtb.33593$
Bonjour Christophe,


Tu as donné la solution, ce n'est pas le fun ...;-)

Range("C16").Select
ActiveCell.Formula = "=IncrisLaFormuledéjàContenudansDeC16 & "" "" &
FormuleContenuDansD16"


Pour ce qui est de la formule dans D16, il faudra juste adapter la formule
Vlookup, la référence à la colonne où tu

cherches la donnée VLOOKUP(RC[-2] ... le 2 pour un 1.


Salutations!




"Christophe Joly" a écrit dans le message de
news:%

Bonsoir:

J'ai les deux formules suivantes:

Range("C16").Select
ActiveCell.FormulaR1C1 = _


"=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa

nyData,15,TRUE)))"

Range("D16").Select
ActiveCell.FormulaR1C1 = _


"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-2],Compa

nyData,16,TRUE)))"

Je souhaite fusionner les contenus de C16 et de D16 en 1 seule cellule en
C16

Mon niveau débutant me pousserait à faire quelque chose du genre/

Range("E16").Select
ActiveCell.Formula = "Á6&"" ""&D16"
puis à copier/coller la valeur de E16 dand F16 et enfin supprimer vers la
gauche C16:E16 afin que le contenu de F16 se retrouve dans C16

Mais voila je suis sur qu'il y a beaucoup beaucoup plus simple de facon à
éviter les copier/coller inutiles sans doute une formule qui associerait
VLOOKUP et la concatenation?

Merci d'avance pour votre aide.

Christophe






Avatar
Christophe Joly
Denis:

Merci. Grace a ton exemple, j'ai trouvé. En fait, j'avais un signe = et 2"
de trop ainsi que un [-2] en lieu et à la place de [-1].

Remerciements et sinceres salutations.

Christophe


"michdenis" a écrit dans le message de
news:%
Bonjour Christophe,


Ce doit être un "simple" problème de syntaxe

Un exemple de concaténation que je peux te donner :

Range("B2").FormulaLocal = "=SI(A1=""Denis"";""Denis"";"""") & ""
""&SI(A2=""Michon"";""Michon"";"""")"



Attention aux coupures de la ligne du service de messagerie.



Salutations!


"Christophe Joly" a écrit dans le message de
news:

Bonsoir Denis:

Merci. J'ai suivi tes instructions et écrit la formule ci-dessous dans une
macro. J'ai du changer& "" "" & en & " " & car autrement j'obtenais une
erreur de compilation.

ActiveCell.Formula >
"=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa

nyData,15,TRUE)))" & " " &

"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-1],Compa

nyData,16,TRUE)))"

Malheureusement j'obtiens le résultat FAUX dans C16 alors que je devrais
obtenir un prenom et un nom. Les references de ma feuille et cellules ont
pourtant l'air bonnes.

Quand je vais sur C16 je lis la formule suivante.


=SI(ESTERREUR(RECHERCHEV(B16,USCompanyData,15,VRAI)),"",(RECHERCHEV(B16,USCo

mpanyData,15,VRAI)))

=SI(ESTERREUR(RECHERCHEV(A16,USCompanyData,16,VRAI)),"",(RECHERCHEV(B16,USCo

mpanyData,16,VRAI)))


Aurais-tu une petite ou une grande idée.

Merci.

Christophe
"Denis Michon" a écrit dans le message de
news:BAvtb.33593$
Bonjour Christophe,


Tu as donné la solution, ce n'est pas le fun ...;-)

Range("C16").Select
ActiveCell.Formula = "=IncrisLaFormuledéjàContenudansDeC16 & "" "" &
FormuleContenuDansD16"


Pour ce qui est de la formule dans D16, il faudra juste adapter la
formule


Vlookup, la référence à la colonne où tu
cherches la donnée VLOOKUP(RC[-2] ... le 2 pour un 1.


Salutations!




"Christophe Joly" a écrit dans le message de
news:%

Bonsoir:

J'ai les deux formules suivantes:

Range("C16").Select
ActiveCell.FormulaR1C1 = _




"=IF(ISERROR(VLOOKUP(RC[-1],CompanyData,15,TRUE)),"""",(VLOOKUP(RC[-1],Compa

nyData,15,TRUE)))"

Range("D16").Select
ActiveCell.FormulaR1C1 = _




"=IF(ISERROR(VLOOKUP(RC[-2],CompanyData,16,TRUE)),"""",(VLOOKUP(RC[-2],Compa

nyData,16,TRUE)))"

Je souhaite fusionner les contenus de C16 et de D16 en 1 seule cellule
en


C16

Mon niveau débutant me pousserait à faire quelque chose du genre/

Range("E16").Select
ActiveCell.Formula = "Á6&"" ""&D16"
puis à copier/coller la valeur de E16 dand F16 et enfin supprimer vers
la


gauche C16:E16 afin que le contenu de F16 se retrouve dans C16

Mais voila je suis sur qu'il y a beaucoup beaucoup plus simple de facon
à


éviter les copier/coller inutiles sans doute une formule qui associerait
VLOOKUP et la concatenation?

Merci d'avance pour votre aide.

Christophe