problème de formule

5 réponses
Avatar
joseph84
Bonjour tout le monde,

j'ai un probl=E8me avec une simple formule de concat=E9nation en vba sa me
donne une erreur (#NOM)

c'est comme si la cellule qui contient la formule n'est dans le bon
format mais c'est pas vrais les trois cellules sont au format
standard

vous retrouverez ci-joint un exemple de mon probl=E8me

lien: http://cjoint.com/?AKDvFQPTMb4

Merci d'avance

5 réponses

Avatar
MichD
Bonjour,

Ta formule devrait être : =CONCATENER(F5;G5)
Tu dois saisir les adresses des cellules.

Une autre façon plus rapide : õ&G5



MichD
------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


Bonjour tout le monde,

j'ai un problème avec une simple formule de concaténation en vba sa me
donne une erreur (#NOM)

c'est comme si la cellule qui contient la formule n'est dans le bon
format mais c'est pas vrais les trois cellules sont au format
standard

vous retrouverez ci-joint un exemple de mon problème

lien: http://cjoint.com/?AKDvFQPTMb4

Merci d'avance
Avatar
Maude Este
Bonsour®

"joseph84" a écrit
j'ai un problème avec une simple formule de concaténation en vba sa me
donne une erreur (#NOM)

vous retrouverez ci-joint un exemple de mon problème

lien: http://cjoint.com/?AKDvFQPTMb4

!!!!! votre macro VBA est incorrecte !!!!
***********************
Sub test()
Range("H7").FormulaR1C1 = "=CONCATENER(" & Range("F5").Value & "," &
Range("G5").Value & ")"
End Sub
***********************

le parametre FormulaR1C1 attend des arguments en format US
Range("H7").FormulaR1C1 = "=CONCATENATE(R[-2]C[-2],R[-2]C[-1])"
* noter : le nom de la fonction (US) CONCATENATE, les arguments type R1C1
ou bien
Range("H7").Formula = "=CONCATENATE( F5 , G5 )"

on peut également utiliser les arguments Fr mais il faut utiliser le parametre
Local
Range("H7").FormulaR1C1Local = "=CONCATENER(L(-2)C(-2);L(-2)C(-1))"
* noter : le nom de la fonction (Fr)CONCATENER, les arguments type L1C1 L pour
R, le remplacement des [ ] par ( ), le remplacement de "," par ";"
ou bien
Range("H7").FormulaLocal = "=CONCATENER( F5 ;G5 )"


;o))) mais Denis a dit plus simplement :
[H7].Formula = "=" & [F5] & [G5]
Avatar
MichD
l'ami Modeste à toujours la proposition pour faire simple...
"=CONCATENATE(R[-2]C[-2],R[-2]C[-1])"
Pour moi ce type de truc est imbuvable réservé à l'enregistreur Macro. ;-))

Si tu tiens à coder en dur des valeurs en utilisant la fonction concaténer, tu peux faire comme ceci:
=CONCATENATE("10";"20") tu places les nombres en guillemets
En VBA
Range("A1").Formula = "=CONCATENATE(""10"",""20"")"
Range("B1").FormulaLocal = "=CONCATENER(""10"";""20"")"



MichD
------------------------------------------
"Maude Este" a écrit dans le message de groupe de discussion : jb3ohh$mm5$

Bonsour®

"joseph84" a écrit
j'ai un problème avec une simple formule de concaténation en vba sa me
donne une erreur (#NOM)

vous retrouverez ci-joint un exemple de mon problème

lien: http://cjoint.com/?AKDvFQPTMb4

!!!!! votre macro VBA est incorrecte !!!!
***********************
Sub test()
Range("H7").FormulaR1C1 = "=CONCATENER(" & Range("F5").Value & "," &
Range("G5").Value & ")"
End Sub
***********************

le parametre FormulaR1C1 attend des arguments en format US
Range("H7").FormulaR1C1 = "=CONCATENATE(R[-2]C[-2],R[-2]C[-1])"
* noter : le nom de la fonction (US) CONCATENATE, les arguments type R1C1
ou bien
Range("H7").Formula = "=CONCATENATE( F5 , G5 )"

on peut également utiliser les arguments Fr mais il faut utiliser le parametre
Local
Range("H7").FormulaR1C1Local = "=CONCATENER(L(-2)C(-2);L(-2)C(-1))"
* noter : le nom de la fonction (Fr)CONCATENER, les arguments type L1C1 L pour
R, le remplacement des [ ] par ( ), le remplacement de "," par ";"
ou bien
Range("H7").FormulaLocal = "=CONCATENER( F5 ;G5 )"


;o))) mais Denis a dit plus simplement :
[H7].Formula = "=" & [F5] & [G5]
Avatar
Maude Este
Bonsour®
"MichD" a écrit dans le message de groupe de discussion :
jb56r8$p27$
l'ami Modeste à toujours la proposition pour faire simple...
"=CONCATENATE(R[-2]C[-2],R[-2]C[-1])"
Pour moi ce type de truc est imbuvable réservé à l'enregistreur Macro. ;-))

;o))) n'est pas Etoile de la communauté qui veut !
tu n'as jamais utilisé Multiplan ???
quand tu as compris ce mode(R1C1) les notions d'Offset non plus de secrets...

;o)))
en effet...
mais veux-tu m'expliquer pourquoi ce #?!+&%!! d'enregistreur privilégie ce
foutu format R1C1
malgré que les options soient : Application.ReferenceStyle = xlA1
ET que l'icone "utilisation des références relatives" ne soit pas activée
Avatar
MichD
Bonjour Modeste,

|tu n'as jamais utilisé Multiplan ???
***Effectivement, totalement ignorant à propos de ce logiciel

| mais veux-tu m'expliquer pourquoi ce #?!+&%!! d'enregistreur privilégie ce foutu format R1C1

Cette syntaxe est d'utiliser à chaque fois qu'un usager saisit une formule dans une cellule
ActiveCell.FormulaR1C1 = "=R[-2]C[1]+R[3]C[1]"

En fait, quand tu tapes une formule dans une cellule, Excel doit conserver le point d'ancrage qui est
la cellule dans lequel tu entres la formule pendant tu sélectionnes les cellules de la formule ou que
tu entres leur adresse, la seule façon qu'Excel réussit à faire cela est d'utiliser les "Offset" par rapport
à la cellule active.
Que tu utilises l'option "Adresse relative ou absolue", la technique est universel, elle s'applique dans
les deux cas pour l'enregistreur de macro.
Peut-être qu'il y a aussi une composante liée à l'origine du logiciel pour des fins de compatibilité avec ses ancêtres!

MichD
------------------------------------------