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 :

adaptation code vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut adaptation code vba
    Bonjour,

    j'ai ce petit code qui fonctionne très bien pour trouver un fichier du style "2024-11-01-nom.xlsx"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function TrouveFichier(UnDossier As String, UnSuffixe As String, Optional AncienneteMax As Long = 10) As String
    Dim i As Long
    Dim UnFichier As String
    While i < AncienneteMax And UnFichier = ""
         UnFichier = Dir(UnDossier & Format(Date - i, "yyyy-mm-dd") & UnSuffixe)
         i = i + 1
    Wend
    TrouveFichier = UnFichier
    End Function
    Je cherche à l'adapter pour trouver un fichier du style "nom_2024-11-01.xlsx"

    Merci beaucoup pour votre aide.

  2. #2
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 516
    Par défaut
    Bonjour,
    Une solution possible,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function TrouveFichier(UnDossier As String, _
                                  ByVal Prefix As String, _
                                  Optional ByVal UnSuffixe As String = ".xlsx", _
                                  Optional AncienneteMax As Long = 10) As String
     
        If Right(Prefix, 1) <> "_" Then Prefix = Prefix & "_"
        Dim UnFichier As String
        Dim i As Long
        While i < AncienneteMax And UnFichier = ""
            UnFichier = Dir(UnDossier & Format(Date - i, Prefix & "yyyy-mm-dd") & UnSuffixe)
            i = i + 1
        Wend
        TrouveFichier = UnFichier
    End Function

  3. #3
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    cela ne fonctionne pas

    totoKR = TrouveFichier("c:\perso\ & "share" & "", "SP_" & ".xlsx")

    il ne me trouve pas de fichier, pq ?


    De plus, peut on combiner les deux recherches soit nom_date, soit date-nom afin de n'avoir qu'un seul code
    ce sont des fichiers automatiques et on ne peut changer le nom d'extraction.

  4. #4
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 516
    Par défaut
    Re,
    totoKR = TrouveFichier("c:\perso\ & "share" & "", "SP_" & ".xlsx")
    Ne manque t-il pas un antislash dans le chemin ?
    De plus si Share est une variable elle ne doit pas être mise en guillemets. Si ce n'est pas le cas cela peut être remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TrouveFichier("c:\perso\share\", "SP_" ) 'Ou bien
    TrouveFichier("c:\perso\share\", "SP_",".xlsx" )
    Pour finir Unsuffixe est optionnel donc s'il est égal à ".xlsx" null besoin de le renseigner.

  5. #5
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    exact mauvais copy/paste

    voici le bon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    totoKR = TrouveFichier("c:\perso\" & share & "\", "SP_")

  6. #6
    Membre chevronné
    Homme Profil pro
    CIP
    Inscrit en
    Avril 2024
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : CIP
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2024
    Messages : 204
    Par défaut re
    Bonjour à tout les deux
    juste en passant comme ça
    quand je lis la réponse de Valtraze et que je lis la réponse du demandeur la #5

    je me dis qu'il y a peut être confusion entre

    un dir(dossier virgule vbdirectory)
    et
    un dir(dossier & peut être un slach si il n'y est pas & prefixe & "*" & format(blablabla) &"*" & suffixe )

    les deux méthodes dir ne font pas la même chose

    Patrick

Discussions similaires

  1. [XL-2007] Adapter un code vba : LastCel.AutoFill Destination
    Par rattus34 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2012, 11h58
  2. [AC-2007] adapter une requête en code VBA
    Par tibofo dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/12/2009, 21h48
  3. Adaptation d'un code VBA en SQL
    Par kiki.gaby dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/12/2008, 15h35
  4. adaptation de code VBA - ouvrir boite de dialogue
    Par p'tite Sandrine dans le forum Access
    Réponses: 10
    Dernier message: 18/09/2006, 15h07
  5. [débutant] Pb adaptation de code VBA
    Par delphineleclerc1 dans le forum Access
    Réponses: 9
    Dernier message: 28/02/2006, 12h58

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