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 :

Saisir le fixing dans X dossier et fichiers


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Par défaut Saisir le fixing dans X dossier et fichiers
    Bonjour,

    J'ai un problème et j'explique la situation :

    Je crée des dossiers à j-2 :
    nommé par exemple jee_322R1 à jee_322R20
    322 étant le quantième et R1 étant la région.
    Dans chaque dossier il y a entre 1 et 20 fichiers nommé par exemple
    nor322.xls, ale322.xls, etc..
    A "j", je dois réouvrir chaque fichier de ce quantième pour insérer le fixing
    US, CH et UK du jour.
    Et je voudrais faire une macro qui puisse automatiquement le faire.
    Mais voila le problème, je ne vois pas comment faire.

    Pour créer les dossiers et les fichiers je fais comme cela et tout fonctionne mais pour faire le contraire à partir de la date du jour saisir le fixing et en
    validant que tous les fichiers soient alimentés.
    Je ne sais pas faire.
    Si j'avais un début de code :
    Merci par avance.
    Norbert

    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
    If Len(LEQUANTIEME4.Text) = 1 Then LEQUANTIEME4.Text = "00" + LEQUANTIEME4.Text
    If Len(LEQUANTIEME4.Text) = 2 Then LEQUANTIEME4.Text = "0" + LEQUANTIEME4.Text
    qqq = LEQUANTIEME4.Value + LAREUNION4.Value
    jeedir = "jee_" & LEQUANTIEME4.Value + LAREUNION4.Value
     
      MkDir disk + ":\DOPC\ALR\" + jeedir
     
    p1:  For i = 0 To liste_fichiers.ListCount - 1
     
           If liste_fichiers.Selected(i) = True Then
              ph = Left(liste_fichiers.List(i), 3)
              info = Left(liste_fichiers.List(i), 3)
              chaine = Left(liste_fichiers.List(i), 3) + LEQUANTIEME4.Text + LAREUNION4.Text
              FileCopy disk + ":\DOPC\DOPC_DEV\ALR\" + liste_fichiers.List(i), disk + ":\DOPC\ALR\" + jeedir + "\" + chaine + ".XLS"
    p2:       Workbooks.Open disk + ":\DOPC\ALR\" + jeedir + "\" + chaine + ".XLS"

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Et si on y allait par petit bout. Quel est le premier problème.
    Citation Envoyé par Le POlonais
    pour faire le contraire à partir de la date du jour saisir le fixing et en validant que tous les fichiers soient alimentés.
    Tu saisis cette date où ? Une fois saisie, tu dois faire quoi ?
    Tu dis
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Par défaut
    Bonjour,

    Combobox => Je choisis la date, ca c'est facile
    Listbox => Le Quantième par rapport à la date, ca c'est facile
    Dans un Userforms, je saisie la date et automatiquement le quantième apparait
    Je saisie le fixing CH par exemple : 0,654 pour 1 euro
    Je confirme => ca c'est encore facile

    C'est maintenant que cela se corse pour moi.
    En fonction du Quantième par exemple aujourd'hui c'est la journée 323

    Tous mes dossiers de la journée par exemple jee_323R1
    et dans chaque dossier entre 1 à 10 fichiers.
    je dois incorporer ce fixing.
    dans tous les fichiers il y a range("fixing")
    je ne sais pas faire :
    C'est rechercher le quantième jee_323R1
    et dans ce dossier incorporer ce fixing dans chaque fichier.

    A+
    Norbert
    Aujourd'hui je travaille à la maison.
    Donc tu peux me répondre quand tu veux.
    Le pc tourne à plein régime.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ok, j'ai compris une partie mais pas tout
    Après saisie d'une date, qui donne un quantième (ex 323) tu recherches jee_323R1 dans quel fichier ?
    Si tu as un Range("Fixing") dans tous tes fichiers du répertoire, tu peux avoir son adresse, donc ce n'est pas ça.
    Quelle est ta difficulté :
    Ouvrir chaque fichier de chaque répertoire ?
    Où dois-tu effectuer cette recherche ? (que cherches-tu et où ?)
    J'ai bien une idée mais si je me trompe c'est idiot de la mettre...
    A+

    (Je ne suis pas là cet aprem )

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Par défaut
    C'est dommage que tu ne sois pas là cet après-midi!!!!!!!

    Après avoir confirmer le quantième par exemple 323 et le
    fixing la macro devrait faire :

    Rechercher sous D:/DOPC/ALR/
    et dans ALR :
    Rechercher si il y a un dossier jee_323Rx
    jee_322R1
    jee_322R2
    jee_323R1
    jee_323R2
    jee_323R3
    Puis ouvrir le dossier jee_323R1,
    Dans ce dossier il y a par entre 1 et 10 fichiers,
    dans chaque fichier incorporer dans la cellule("fixing"),le fixing saisie.

    Puis ouvrir le dossier jee_323R2,
    Dans ce dossier il y a par entre 1 et 10 fichiers,
    dans chaque fichier incorporer dans la cellule("fixing"),le fixing saisie.

    etc...........................

    Ma difficulté :
    C'est rechercher si il y a une jee_323R1, puis jee_323R2, etc...
    Puis ouvrir chaque fichier de chaque répertoire.
    Et d'inclure ce maudit fixing!!!

    Une autre question qui n'a rien avoir avec cette macro.
    J'ai une macro Excel qui fonctionne très bien, pour une fois et on m'a demandé
    si je pouvais inclure une ligne qui permettrait d'imprimer sans ouvrir un fichier word.
    Cela aussi je ne sais pas faire.

    A+
    Norbert

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je passais par là, je n'ai pas le tps de m'attarder, voici des codes pour lister les fichiers d'un répertoire, j'espère que tu sauras retrouver ce qu'il te faut.
    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
    50
    51
    52
    53
    Public FL1 As Worksheet
    Sub ListerLesFichiersDunRepertoire()
    Dim chemin$
        Set FL1 = Worksheets("Feuil1") 'instance de feuil1
        FL1.Cells.ClearContents 'effacement des cellules
        chemin = ChoixDossierFichier
        If chemin = "" Then Exit Sub
        Application.ScreenUpdating = False
        ListerLesFichiersParOrdreAlpha chemin, FL1
        DoEvents
        Columns("A:B").EntireColumn.AutoFit
        Application.ScreenUpdating = True
        Set FL1 = Nothing
    End Sub
     
    Function ChoixDossierFichier()
    Dim objShell, objFolder, chemin$, Msg$
        On Error GoTo Fin
        Msg = "Choisir un dossier :"
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(&H0&, Msg, 0, 0)
        If objFolder Is Nothing Then Exit Function
        chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
        ChoixDossierFichier = chemin
    Fin::
        If Err = 91 Then 'erreur si le répertoire "Mes documents a été sélectionné"
            If MsgBox("Avez-vous sélectionné le répertoire ""Mes documents"" ?", vbYesNo, "SÉLECTION DE ""MES DOCUMENTS""") = vbYes Then _
            ChoixDossierFichier = "C:\Documents and Settings\" & Environ("Username") & "\Mes documents"
            On Error GoTo 0
        End If
    End Function
     
    Sub ListerLesFichiersParOrdreAlpha(chemin, FL1)
    Dim fs, TabRep
        Set fs = Application.FileSearch
        With fs
            .LookIn = chemin
            .FileType = 4 '1 tous les fichiers, 3 = Doc, 4 = xls,
            If .Execute(SortBy:=msoSortByFileName, _
                SortOrder:=msoSortOrderAscending) > 0 Then
                'Placement du nom des fichiers dans feuil1
                For i = 1 To .FoundFiles.Count
                    'On place le nom des fichiers à partir de la ligne 2 (i + 1)
                    TabRep = Split(.FoundFiles(i), "\")
                    FL1.Cells(i + 1, 2) = TabRep(UBound(TabRep))
                Next i
                FL1.Cells(1, 1) = chemin
            Else
                MsgBox "Aucun fichier n'a été trouvé."
            End If
        End With
        Set fs = Nothing
    End Sub
    Tu as également ça dans la FAQ mais là... pas le tps
    Bye

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2011, 18h32
  2. [Upload] upload de fichier dans un dossier creer en ligne
    Par jeanfrancois dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2006, 14h09
  3. Réponses: 7
    Dernier message: 05/01/2006, 01h06
  4. Réponses: 4
    Dernier message: 30/11/2005, 12h16
  5. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 14h26

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