|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2009 Messages : 45 ![]() |
J'ai écrit le code ci-dessous et je voudrais que ça fonctionne je sais que le problème vient du formatage du string qui contient certain charactères spéciaux:
Code :
Je pourrais gèrer le IF via le script mais je ne veux pas, car Excel traque les changement pas mon script. J'aimerais donc savoir comment entrer ma formule dans une cellule via un script, comment formatter la phrase. |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() |
Salut
En règle général, face a ce type de problème il faut doubler les " pour que vba les interprète comme faisant parti du texte essais comme ça Code :
ActiveCell.Formula = "IF(E2=1, ""Ce rapport n'a pas été archivé"", ""this report has not been archived"")" Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Score PowerBall Gyroscope Green : 11847 |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : juillet 2008 Messages : 1 889 ![]() |
Bonsoir,
Je te comprend moi aussi je peux être troublé par un string mais trop ca fait vulgaire ![]() En gros tu as besoin de mettre " dans ta chaine de caractère tu peux mettre "" ou alors chr(34) Code :
Code :
"IF(E2=1, "3Ce rapport n'a pas été archivé"3, "3this report has not been archived"3)" evènement change de worksheet un petit tuto a ce propos http://silkyroad.developpez.com/VBA/EvenementsFeuille/ ou pour tous les onglet http://silkyroad.developpez.com/VBA/...asseur/#LII-20 Maintenant a toi de choisir ce que tu préfères |
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() |
Re
Il me semblait bien qu'il y avait un truc qui cloché, ton code est faut Code :
A++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Score PowerBall Gyroscope Green : 11847 |
||
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : octobre 2008 Messages : 223 ![]() |
Je dirais aussi qu'il faut remplacer les virgules qu'on utilise en VBA par des points virgules qu'on utilise dans les fonctions directement sur les feuilles, non?
Code :
Feuil2.[A1].Formula = "=IF(E2=1; ""Ce rapport n'a pas été archivé""; ""this report has not been archived"")" |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juillet 2008 Messages : 1 889 ![]() |
Effectivement ca me fait deux erreurs, il était vraiment troublant ce string et pas vulgaire pour deux sous
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() |
Salut
hé non julien26, il ne faut pas mettre des ";", vbe va interpreter les "," et c'est lui qui se charge de la conversion A++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Score PowerBall Gyroscope Green : 11847 |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : juin 2002 Messages : 3 880 ![]() |
Hello,
vous pouvez mettre des ";" dans une FormulaLocal (pour les français avec un SI) et des "," dans une Formula (pour tous avec un IF).
__________________
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème ![]() Développez une application de gestion des comptes bancaires dans Access de A à Z ![]() |
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() |
Salut
Ha oki, je n'avais jamais fait le distinguo entre formula et formulalocal, c'est chose faite. Merci pour l'info. A++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Score PowerBall Gyroscope Green : 11847 |
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2009 Messages : 45 ![]() |
Voilà résolu à l'aide des double " dans le string.
C'est honnêtement anti-intuitif mais vba ne fait pas dans l'intuitif de toute façons. Merci pour votre aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com