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 :

macro creer et renommer un dossier et ouvrir un fichier du dossier crée [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 0
    Points
    0
    Par défaut macro creer et renommer un dossier et ouvrir un fichier du dossier crée
    Voila je vous sollicite car je bloque sur mon petit bout de code que je n'arrive pas à développer.

    Ma macro copie et colle un dossier "Semaine" (avec tous ses sous dossiers et ses fichiers) et renomme le dossier en fonction du nom d'une cellule dans une feuille..(ex : Semaine 30).
    Je souhaiterai à la suite ouvrir un fichier "Menu" du dossier créer pour importer des données mais JE N ARRIVE PAS A OUVRIR CE FICHIER AUTOMATIQUEMENT.

    Pourriez vous me donner un petit coup de pouce? merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub CreerDossierAlternatif()
    On Error Resume Next
        Dim Nom As String
        Dim Fso As Object, Source As String, Destination As String
        Nom = Feuil6.[g2]
        Set Fso = CreateObject("Scripting.FileSystemObject")
        Source = "C:\Users\Alex\Desktop\SEMAINE"
        Destination = "C:\Users\Alex\Desktop\SEMAINE" & Nom
        Fso.CopyFolder Source, Destination, False
     
       Ps J'aimerai que le code ouvre le fichier "Menu" du dossier créer

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, qqs utilités

    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
    Option Explicit
     
    Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
            (ByVal hwnd As Long, ByVal pszPath As String, ByVal lngsec As Long) As Long.
     
    Private Function CreationDossier(sDossier) As Long
    Dim Rep As Long
        Rep = SHCreateDirectoryEx(0&, sDossier, 0&)
    End Function
     
    Private Function NomDossierValide(sChaine As String) As Boolean
    Dim i As Long
    Const CaracInterdits As String = """*/:<>?[\]|"
        NomDossierValide = True
        If Len(sChaine) = 0 Then
            NomDossierValide = False
            Exit Function
        End If
        For i = 1 To Len(CaracInterdits)
            If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
                NomDossierValide = False
                Exit Function
            End If
        Next i
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If FSO.Fileexists(......) Then
    ......
    End If
    Ne pas oublier le \ quand nécessaire.
    Supprimer le On Error Resume Next totalement inutile.

    Voir lire et assimiler : Manipulation des fichiers en VBA

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Suite macro créer, renommer et importer donnée dans un fichier.xls
    Merci beaucoup pour ta réponse apportée malgré que je ne comprends strictement rien a son contenu.

    Finalement j'ai une réponse adaptée sans modifier ma macro en la complétant par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Fichier = Workbooks.Open(Destination & "\Menu.xls")
    A la suite de ma macro, sur la Feuil ("Menu") la selection de la cellule ("B1") ne se réalise pas!!!
    J'ai mis en Blue la partie du me code qui ne fonctionne pas...
    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
     Private Sub CommandButton3_Click()
    
        On Error Resume Next
        Dim Nom As String
        Dim Fso As Object, Source As String, Destination As String
        Dim Fichier As Object
        Nom = Feuil6.[g2]
        Set Fso = CreateObject("Scripting.FileSystemObject")
        Source = "C:\Users\Alex\Desktop\SEMAINE"
        Destination = "C:\Users\Alex\Desktop\" & Nom
        Fso.CopyFolder Source, Destination, True
        'ouverture fichier "Menu.?????"
       
        Set Fichier = Workbooks.Open(Destination & "\Menu.xls")
    
        Windows("Création Menu Eté.xls").Activate
        Sheets(6).Range("B1:C53").Copy
        Windows("Menu.xls").Activate
        Range("B1").Select
        ActiveSheet.Paste Link:=True

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 7
    Points : 0
    Points
    0
    Par défaut Solution
    Avec "Range" Il faut selectionner une Plage et non une cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       Windows("Menu.xls").Activate
        Range("B1:C53").Select

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, c'est bien dommage car cela t'éviterait, entre autres, bien des déboires et te permettrait de supprimer cet horrible On Error Resume Next totalement inutile.

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

Discussions similaires

  1. serveur de fichier et dossier d'echange de fichier
    Par corwin44 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 11/03/2009, 20h51
  2. Ouvrire un fichier EXCEL déjà crée en c# ?
    Par mstic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/07/2007, 15h41
  3. Ouvrir plusieurs fichier textes dans un dossier : *texte.txt
    Par Jenn74 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2007, 16h52
  4. Ouvrir un dossier et parcourir les fichiers
    Par anthony44j dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 30/04/2007, 11h36
  5. [VBA-E] ouvrir un fichier .xls sans executer les macro
    Par lae_t2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2003, 17h07

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