Formule de concaténation

Rico 95 Messages postés 18 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 21 mai 2008 - 21 mai 2008 à 21:12
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 22 mai 2008 à 09:07
Bonjour à tous,

Dans une cellule Excel je souhaite insicrire une formule de concaténation, dans une sub j'écris donc le code suivant:

Range("L2:L2").Formula = "=CONCATENER("P",M2)"

Je souhaite au final avoir en L2 une formule qui me concatène P et ce qu'il y a en M2.
Petit problème, VB m'annonce une erreur de compilation. Je ne comprends pas, c'est exactement la synthaxe de l'aide VBA.

J'ai fait la même chose avec du Min et du max sur des séries de données et ça marche très bien.

Y aurais t'il un pb avec cette fonction CONCATENER ?

Merci d'avance à celui où celle qui m'accordera un peu de son temps.

Rico

9 réponses

jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
21 mai 2008 à 22:34
Salut
Point virgule entre "P" et M2, pas virgule
Range("L2:L2").Formula = "=CONCATENER("P";M2)"

Jimy
0
Rico 95 Messages postés 18 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 21 mai 2008
21 mai 2008 à 22:45
Salut Jimy,

J'ai toujours cette erreur avec un point virgule avec cette fois erreur de synthaxe.

Rico
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
21 mai 2008 à 22:48
Et il faudrait doubler les guillemets autour du "P", sinon, ca va bugger sec !
Range("L2:L2").Formula = "=CONCATENER(""P"";M2)"
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 mai 2008 à 22:57
Avec Formula, il te faut utiliser la version anglaise des formules, remplacer le point-virgule par la virgule et lorsqu'il y a des guillemets à l'intérieur de la formule, il faut les doubler. Déjà tu avais eu certains renseignements pertinents, mais il manquait la version anglaise...

Range("L2").Formula = "=CONCATENATE(""P"",M2)"

Tu aurais pu utiliser FormulaLocal plutôt que Formula avec la formule française et le point-virgule, mais c'est préférable de rester avec Formula qui rend le programme facilement portable sur un PC d'une autre langue.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
21 mai 2008 à 23:21
Très fort MPi, voila 1/4 d'heure que je triture cette ligne de code pour en arriver à ce resultat:

Range("A2").Formula = "=CONCATENER(B3,B2)", fonctionne, mais uniquement avec des cellules, et pas Range("A2").Formula = "=CONCATENER("P",B2)"

Je ne suis qu'un modeste VB6iste..

A+, Jimy
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
21 mai 2008 à 23:24
Même pas...

Range("A2").Formula = "=CONCATENER($B$3,$B$2)",fonctionne
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 mai 2008 à 23:33
Ici, ça m'inscrit #NOM?
Si j'édites la cellule (F2) et que je presse ENTER, ça passe effectivement...
Excel a un côté obscur quelquefois ...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 mai 2008 à 03:35
lol, salut,

c'est pour ça que c'est bien d'avoir un module pas très loin, pour faire sa propre fonciton quand ça merde. Vu que c'est utilisable en cellule

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 mai 2008 à 09:07
CONCATENER est la version francaise de la formule.

il faut donc l'attribuer à FormulaLocal, pour que cela fonctionne.

toutefois, je déconseilles fortement d'employer ces versions traduites, au proffit de la version anglaise (donc, avec la propriété Formula). En effet, votre code fonctionnera quelques soient les parametres regionnaux...
0
Rejoignez-nous