Comment choisir l'emplacement d'un fichier à enregistrer selon l'ordinateur? [Résolu]

Signaler
Messages postés
3
Date d'inscription
samedi 16 décembre 2000
Statut
Membre
Dernière intervention
28 mai 2009
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Comment choisir l'emplacement d'un fichier à enregistrer selon l'ordinateur? En d'autre mots, comment faire en sorte que je puisse choisir l'emplacement où que je veux que mon fichier s'enregistre sans que cet emplacement ne soit fixe. Je réussis, à l'aide des lignes qui vont suivent, à faire enregistrer mon fichier à un endroit fixe, mais j'aimerais que vba puisse me demander à quelle endroit je le veux :

Open "C:\Documents and Settings\Julien\Bureau\doyon.xyz" For Output As #1
For i0 = 1 To i0max + 1
cx(i0) = (cx(i0) - 350) * 2.5
cy(i0) = (cy(i0) - 150) * 3.5cz(i0) (cz(i0) - 150) * 3.5: rr(i0) 3 * rr(i0)
Print #1, cx(i0), cy(i0), cz(i0), rr(i0), ss(i0)
Next i0
Close #1

 Merci d'avance!!!!

6 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
>[../auteur/OROHENA/1483575.aspx Orohena] : Tu proposes un code en VBA et si [../auteur/MOUMOUTE6919/1438850.aspx moumoute6919] ne s'est pas trompé de section nous cherchons une solution en VB6.
Il faut donc Utiliser comme le propose [../auteur/GILLARDG/1360034.aspx gillardg]
 (bonjour aussi....) commondialog, le .

Tu peux le trouve en l'ajoutant comme composant. il est dans Microsoft Common Dialog COntrol 6.0 (SP6)

Il te suffit ensuite de l'insérer dans un formulaire puis de tester ceci.

Dim StrPath As String
'Répertoire par défaut
CommonDialog1.InitDir = "C:\"
'génère une erreur si l'utilisateur appuie sur Cancel
CommonDialog1.CancelError = True
'montre la boite de dialogue de sauvegarde
CommonDialog1.ShowSave

StrPath = CommonDialog1.FileName
Open StrPath For Output As #1
   For i0 = 1 To i0max + 1
       cx(i0) = (cx(i0) - 350) * 2.5
       cy(i0) = (cy(i0) - 150) * 3.5       cz(i0) (cz(i0) - 150) * 3.5: rr(i0) 3 * rr(i0)
       Print #1, cx(i0), cy(i0), cz(i0), rr(i0), ss(i0)
   Next i0
Close #1, ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
commondialog

Bonjour chez vous !
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
Bonjour Moumoute6919

La procédure ci-dessous ouvre une boîte de dialogue "Sauvegarder". Passez le nom de fichier en paramètre. Exemple : enregistrer "doyon.xyz"

Sub enregistrer(nomFichier as string)
    dim n As Variant, newName As String, fs As Object
' par defaut, sauvegarder dans le repertoire du classeur
    n = ActiveWorkbook.Path & Application.PathSeparator & nomFichier
' ouvre la boite de dialogue GetSaveAsFilename
    n = Application.GetSaveAsFilename(n, "tous les fichiers,*.*", _
        1, "Enregistrer un fichier")
    If n = False Then Exit Sub   ' l'utilisateur a fait "Annuler"
' le bloc ci-dessous gère l'écrasement de fichier
    Set fs = CreateObject("Scripting.FileSystemObject")
    If fs.fileexists(n) Then
        fs.getfile (n)
        newName = fs.getfilename(n)
        If nomFichier <> newName Then
            If MsgBox("Le fichier """ & newName & _
               """ existe déjà. Voulez-vous le remplacer ?", _
               vbYesNo + vbQuestion, _
               "Remplacer un fichier existant") = vbNo Then Exit Sub
        End If
    End If
'
    nomFichier = fs.getfilename(n)
    Open n For Output As #1
.
.<votre code d'ecriture du fichier ici>
.
    Close
End Sub

@+
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
A l'avant dernière ligne, j'ai mis close. Il faut évidemment lire close #1, sinon tous vos fichiers seront fermés.


@+
Messages postés
3
Date d'inscription
samedi 16 décembre 2000
Statut
Membre
Dernière intervention
28 mai 2009

Ouais effectivement, c'était pour VB6. Merci à tout le monde, mais merci surtout à jrivet. Le programme marche exactement comme je le voulais.


merci


 


     moumoute6919
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Re,
Ya pas de quoi.
Content d avoir pu aider.

@+: Ju£i€n
Pensez: Réponse acceptée