IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème avec "GetSaveAsFilename" ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 124
    Par défaut Problème avec "GetSaveAsFilename" ?
    Bonjour le forum,

    Je reviens une nouvelle fois demander conseil à tous les membres face à ma méconnaissance et mon incompréhension concernant le "GetSaveAsFilename"....

    Voici, dans ma macro, je souhaite enregistrer plus ou moins automatiquement mon classeur une fois celui ci traité. J'utilise donc la commande "GetSaveAsFilename" avec entre parenthèse un "InitialFilename" afin que l'utilisateur puisse choisi ou enregistrer le classeur. La macro fonctionne, mais le problème survient une fois le classeur enregistré. En effet, celui ci est bien enregistré à l'emplacement choisi, mais le nom du fichier se termine toujours par un . (point) et le type de fichier est .dat

    Quelqu'un a t'il une idée SVP?

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Sub sunvoc()
     
    Dim NewBook As Workbook
    Dim TreatedFile As Workbook
    Dim counter As Variant
    Dim a As Variant 'declaration de la varaible a comme nombre
    Dim pff As String
    Dim pvoc As String
    Dim rshunt As String
    Dim sample As String
    Dim injectionlevel As String
    Dim tableau() As String
    Dim run As String
    Dim chemin As String
     
    Application.ScreenUpdating = False    
    run = InputBox("Run Number?")
     
    Set NewBook = Workbooks.Add  'creation d'un nouveau fichier
     
    a = 1 'initialisation a 1
     
    counter = Application.GetOpenFilename(fileFilter:=",*.xls", MultiSelect:=True) 
     
    On Error GoTo suite
     
    While counter(a) <> ""   'Condition
        Set TreatedFile = Application.Workbooks.Open(counter(a)) 
    'là je traite mes données avec tout un blabla....
    %%%%%
     
    suite:
    'Mise en forme
        With NewBook.Worksheets(1)
            .Range("A4").Value = "Sample Name"
    'ici je fais une mise en forme avec un autre blabla
        End With
     
    Application.ScreenUpdating = True           'Mise a jour de l'ecran
    chemin = Application.GetSaveAsFilename("SunVoc_Resume Run " & run)
    'ici je fais apparaitre la boite de dialogue avec un nom initial au fichier
     
    NewBook.SaveAs (chemin) 'ici j'enregistre
     
    Set NewBook = Nothing
    Set TreatedFile = Nothing
     
    End Sub
    Si je me basse sur le code suivant et que run=1 par exemple,
    le classeur résultant aura le nom SunVoc_Resume Run 1. et le type de fichier est .dat, donc impossible de le réouvrir avec excell.

    Une autre question: pourquoi dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set TreatedFile = Application.Workbooks.Open(counter(a))
    si je remplace le "open" par un "OpenText" cela ne fonctionne plus?? (faut-il aussi que je remplace "Open" par "OpenText" dans la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    counter = Application.GetOpenFilename(fileFilter:=",*.xls", MultiSelect:=True)
    )

    Vous remerciant de votre aide,

    Johann

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 124
    Par défaut
    Re bonjour,
    Je pense avoir trouvé comment faire. Il suffit de mettre un filtre dans le GetSaveAs comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chemin = Application.GetSaveAsFilename("SunVoc_Resume Run " & run, ", *.xls")
    Je pensais que par défaut, la macro l'enregistrait en .xls, mais çà à pas l'air d'être le cas.

    Si vous avez une meilleure solution, merci de me prévenir...

    Johann

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Shell] Problème avec le Back-quote (ksh)
    Par bob94700 dans le forum Linux
    Réponses: 3
    Dernier message: 27/01/2008, 12h45
  2. Sudo problème avec les simples quotes
    Par Tronche dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 23/03/2007, 12h02
  3. [MySQL] Problème avec un double quote
    Par wormseric dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/01/2007, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo