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 :

Verification, création, répertoire, fichier et attribut [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Verification, création, répertoire, fichier et attribut
    Bonjour,
    Avec ce que j’ai collecté sur le forum, j’ai voulu faire une macro pour créer un fichier CSV dans un répertoire.
    Mais à priori, j’ai voulu vérifié que le dossier existe et le créer s’il n’existe pas.
    Puis créer le fichier csv (en lecture seule) dans ce répertoire.
    Mais j’ai vite déchanté, j’ai obtenu un résultat bizarre (en fait, c’est mon code qui est bizarre).
    Le Répertoire est créé, mais le fichier est enregistré dans "MesDocuments". Je n'ai rien compris.

    J’espère être clair, je voudrais parvenir à recréer ce fichier csv s’il est effacé ou le mettre à jour.
    Mon premier souci est l’enregistrement de ce fichier dans le bon répertoire.

    Le second est le « SetAttr Fichier, vbNormal » quand le fichier n’a pas encore été créé.
    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
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim nomdossier As String, chemin As String, Fichier As String, nomfichier As String
    Dim i, j, DernièreLigne, DernièreColonne
    '----------------------------------------------------------------------------------------------
    nomdossier = "Archive des BD"
    nomfichier = "Historique des connexions" & ".csv"
    chemin = ThisWorkbook.Path
    ChDir chemin 'se place sur le repertoire du programme
    If Dir(chemin & "\" & nomdossier & "\", vbDirectory) = "" Then
        MkDir chemin & "\" & nomdossier
    End If
    repert = chemin & "\" & nomdossier
    ChDir repert
    Fichier = repert & "\" & nomfichier
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Application.ScreenUpdating = False
     
    With Sheets("Connexion")
        .Visible = True
        .Activate
        'On Error Resume Next
     
        'SetAttr Fichier, vbNormal
        Open nomfichier For Output As #1  'Tu crées le fichier
     
    DernièreColonne = .Range("A1").End(xlToRight).Column
    DernièreLigne = .Cells(1, 1).SpecialCells(xlCellTypeLastCell).Row '- 1
     
    For i = 1 To DernièreLigne
                For j = 1 To DernièreColonne ' - 1
                   Print #1, Cells(i, j).Value, ";";
                Next j
                Print #1, Cells(i, j + 1).Value
            Next i
     
        Close #1
        'SetAttr Fichier, vbReadOnly
        .Visible = False
        End With
        Sheets("Menu").Activate
        Application.ScreenUpdating = True
    End Sub
    Je vous remercie pour votre aide.
    NB:La feuille "Connexion" concernée par le fichier csv est cachée.

    Cordialement,
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Voir ce tuto pour la manipulation des fichiers:
    http://warin.developpez.com/access/fichiers/

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour vcottineau,

    je te remercie pour le tuto. J'espère m'en sortir.

    Bonne journée.

    Cordialement,

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour, test ça
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Plutôt que d'écrire cellule par cellule dans ton fichier, tu pourrais faire un click droit sur l'onglet, copier ta feuille et l'enregistrer sous format CSV.

    Le tout se fait très bien avec l'enregistreur de macro...

    Pour le traitement de fichiers, je pense que tu as déjà eu de bonnes réponses...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Messieurs Bonjour,

    Je vous remercie beaucoup pour vos réponses. Et Spécialement à Rdurupt, qui a consacré un certain pour rédiger le code. J'avoue que je n'ai pas saisi grand chose vu mon niveau. Le code crée les dossiers mais pas le fichier. Merci quand même.

    Pour "parmi", sur ce fichier je n'ai cherché qu'à illustrer mon problème concernant le fichier sur lequel je travaille. En fait, je voudrais sauvegarder 5 feuilles en csv pour restaurer ma base de données en cas de problèmes.

    Je vous remercie beaucoup. Je continue de mon côté pour trouver une solution.

    Cordialement,

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/01/2008, 16h28
  2. création de répertoire, fichiers et droits
    Par pastaska dans le forum C
    Réponses: 1
    Dernier message: 05/12/2007, 12h32
  3. Création automatique de listing de répertoires/fichiers
    Par BnA dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/10/2007, 19h45
  4. Droits création-écriture fichier dans répertoire
    Par BATiViR dans le forum Delphi
    Réponses: 7
    Dernier message: 02/07/2007, 13h27
  5. surveillance répertoire pour création de fichier
    Par gerald2545 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 03/08/2006, 08h21

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