gregorydekimpe
Messages postés8Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention20 février 2008
-
15 févr. 2008 à 12:42
gregorydekimpe
Messages postés8Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention20 février 2008
-
19 févr. 2008 à 09:25
Au secours :-(!!! Je me casse la tête depuis 2 heures à savoir pourquoi ce petit bout de code ne fonctionne pas! Je lui demande simplement d'enregistrer le fichier sous la forme "PB_Mois.xls". Voici le code :
Mois = Month(Now)
Fichier = "PB_" + Mois
Fichier = Fichier + ".xls"
fileSaveName = Application.GetSaveAsFilename(Fichier, "Fichier Excel (*.xls), *.xls")
If fileSaveName <> False Then
ActiveWorkbook.SaveAs fileSaveName
End If
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 15 févr. 2008 à 14:09
Bonjour
Un peu blizzard ta logique :
If fileSaveName <> False Then
ActiveWorkbook.SaveAs fileSaveName
Soit fileSaveName est un bouléen ou une String, mais pas les 2, je penses que ton test devrait être :
If len(fileSaveName) >0 Then
Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 15 févr. 2008 à 23:03
Effectivement, GetOpenFilename ou GetSaveAsFilename retourne "Faux" ou "False", entre guillemets, selon le langage de Windows (il me semble) et c'est différent de False sans guillemets. Et bien sûr, ça retourne cette valeur si on ne choisit pas de nom et qu'on valide... un peu tordu, mais c'est Excel... Je comprends ton étonnement NHenry
Tu pourrais essayer comme ceci (mélange de String et de Boolean...)
If fileSaveName Then ActiveWorkbook.SaveAs fileSaveName
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
gregorydekimpe
Messages postés8Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention20 février 2008 19 févr. 2008 à 09:25
En fait il fallait simplement mettre des "&" au lieu des "+" :-)... Désolé pour ma question, et merci pour les réponses (j'ai modifié mon test avec "false" au lieu de false)...