Concatener sous vba

rigaf45 -  
 le père -
Bonjour,

Je vous écrit pour savoir pour éspérer avoir votre aide en fait j'applique la formule concatenner sous vba elle fonctionne mais celle celle ci sort sur excel sous format texte et impossible de concatenner meme en changeant le format en standart ou nombre aucune modification. J' ai convertit également dans la barre d'outil. Sauriez vous m'aidé s'il vous plait merci d'avance.

Cordialement

9 réponses

le père
 
Bonjour

Je ne suis pas sûr d'avoir compris ce que tu demandais, mais je vais faire comme si.
Le VBA n'utilise pas du tout la même syntaxe que les formules des cellules excel.

En VBA, pour concaténer deux variables a et b et mettre le résultat dans une troisième (c) on écrit
c= a & b
0
rigaf45
 
En fait j'ai utilser pratiquement le meme code dans un autre fichier et cela a marché, contrairement à là:
wsEDM.Cells(2, 17).Resize(nbre, 1).FormulaR1C1 = "=CONCATENATE(RC[4],RC[3],RC[2]"
0
rigaf45
 
wsEDM.Cells(2, 17).Resize(nbre, 1).FormulaR1C1 = "=CONCATENATE(RC[4],RC[3],RC[2])"
je n'ai pas oublié la parenthèse c'est une faute de frappe
0
le père
 
chez moi, ta formule marche, sauf si j'ai une valeur aberrante dans nbre
As-tu fait un msgbox cstr(nbre) pour être sûr de ce qu'il y a dedans ?
0

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

Posez votre question
rigaf45
 
Non je ne l'ai pas utilisé! d'ailleur je sais pas vraiment comment l'utiliser.
0
le père
 
rajoute la ligne
msgbox cstr(nbre)
juste avant celle qui t'embête. Tu peux aussi utiliser
debug.print nbre
l'affichage est différent, mais ça te permet de savoir ce qu'il y a vraiment dans nbre
0
rigaf45
 
Merci il me dit 3903
qu'est ce que ça veut dire?
0
le père
 
Je crois que j'ai fini par comprendre ton problème
avant ta ligne, ajoute WsEDM.Cells(2, 17).NumberFormat = "General"
Ça devrait mieux marcher
0
rigaf45
 
je pense que la solution est simple mais désolé je débute en vba.
-1