FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Guillemets dans macro excel
 

Guillemets dans macro excel

Il y a 327 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Guillemets dans macro excel
 
Plus d'informations

Bonjour à tous
je voulais écrire au moyen d'une macro dans une cellule de ma feuille la formule suivante :
=ChLettres(Caisse!B13;"F" )&" ("&Caisse!B13&" €) dans l'encaisse du traitement de table,"
 
J'ai donc écrit ceci :
Range("L25" ).Value = "=ChLettres(Caisse!B13;" & Chr$(34) & "F" & Chr$(34) & " )&" & Chr$(34) & " (&" & Chr$(34) & "&Caisse!B13&" & Chr$(34) & " €) dans l'encaisse du traitement de table,"
 
Hélas, le débogueur me donne une erreur d'excécution '1004'    
 
Si quelqu'un a la solution (surement évidente, sauf pour moi) merci par avance

Plus d'informations

donne nous plus de précison...
 
 
Qu'est-ce que ChLettres?

Plus d'informations

Essaie ça....
 
 
Range("a1" ).Value = Worksheets("Caisse" ).Cells(13, 2).Value  
 
 
cells(ligne,colonne)
 
ligne =13
colonne =2
 
 
Mais je ne sais toujours pas ce que représente CHLETTRES

Plus d'informations

ChLettres est unne macro complémentaire qui transforme un nombre en chiffres en nombre en lettres.
 
La formule : =ChLettres('Caisse IV'!B13;"F" )&" ("&'Caisse IV'!B13&" €) dans l'encaisse de l'indemnité de vivres,"  
fonctionne très bien dans ma feuille.
 
Moi, je voudrais que cette formule soit réécrite grace à une macro chaque fois que la feuille est activée.
Mon script actuel (qui bug) est le suivant :
 
Private Sub Worksheet_Activate()
    Range("L26" ).Value = "=ChLettres('Caisse IV'!B13;" + Chr$(34) + "F" + Chr$(34) + " )&" + Chr$(34) + " (" + Chr$(34) + "&'Caisse IV'!B13&" + Chr$(34) + " €) dans l'encaisse de l'indemnité de vivres,"
End Sub

Plus d'informations

Mon problème doit venir du fait que la formule que je veux écrire grace à une macro contient des guillemets, d'où les chr$(34)
Mais j'ai du merder quelque part

Plus d'informations

Bizarre !
La même macro sans le signe = avant ChLettres ne génère pas d'erreur (et si dans la feuille, je rajoute le signe =  pour signaler qu'il s'agit d'une formule ça marche.)
Mais si je laisse le signe = dans la macro, ça bug
Au secours

Plus d'informations

Exemple plus simple de mon problème.
 
Je veux écrire grace à une macro la fonction suivante dans la cellule A1 :
 
=TEXTE("pierre";)
 
qui affiche pierre.
 
Ma macro est écrite comme ceci mais donne un message d'erreur :
 
Private Sub Worksheet_Activate()
    Range("A1" ).Value = "=texte(" + Chr$(34) + "pierre" + Chr$(34) + ";)"
End Sub
 
J'ai essayé de remplacer Value par Formula ; pareil
 
Sans le signe = en rouge dans l'exemple ça passe
 
si je remplace le signe = par Chr$(61) ça coince aussi

Plus d'informations

Salut,  
 
Déjà avant de pouvoir faire ce genre de manipulation il faut trouver la correspondance entre le nom de la fonction Excel et celui de la fonction VBA équivalente.
Le VBA s'écrit toujours en anglais. par exemple la fonction somme doit s'écrire SUM()...
L'opérateur de concaténation de chaine de caractères est le &.
Si tu veux mettre un " dans une chaine de caractères il faut le doubler à l'intérieur de ta chaine ou mettre un '.
 

Code :
  1. Private Sub Worksheet_Activate()
  2.     Range("A1" ).Value = "=texte(""" & "pierre" & """ )"
  3.     Range("A2" ).Value = "=texte('" & "pierre" & "')"
  4. End Sub


 
Si tu cherches à associer à une cellule une formule il faut passer par la propriété .formula de l'objet Range.


---------------
S'il n'y a pas de solution c'est qu'il n'y pas de problème
Plus d'informations

est-il possible de nous transmettre un fichier exemple en EXCEL?


Message édité par zeb le 02-01-2008 à 11:19:09
zeb
Profil : Modérateur libre
Plus d'informations

Non. Des explications claires et en français doivent suffire. Ce site est un forum libre accessible par des gens biens comme vous qui aidez les autres, mais aussi par des salauds qui n'hésiteraient pas à en profiter si l'échange de fichiers potentiellement dangereux se généralisait. L'échange de fichiers Excel est donc à proscrire.


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Guillemets dans macro excel
 

Annonces Google
Publicité
Les ressources relatives