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 :

[VBA-E] probleme de recherche de fichier


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut [VBA-E] probleme de recherche de fichier
    Bon alors j'ai commencé VBA hier et j'ai un petit probleme:
    En gros j'ai un systeme de fichier comme suit:
    dossier:train format numerique style xxxx
    classeur: annee format: aaaa
    feuille: mois format: janvier, fevrier ...
    et je dois a partir d'une feuille(donc d'un mois) aller rechercher des données dans des autres feuilles dans un autre dossier et donc dans un autre classeur.
    chaque classeur ou je dois aller chercher les donnees portent un nom du type: jjmmaa
    et les feuilles du classeur possèdent un nom representant les noms de train

    voici mon code:
    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
     
    typeA As Integer
    typeA = 0
    typeB As Integer
    typeB = 0
    Dim FeuillesTrain As String
    FeuillesTrain = Dir("ThisWorkbook.Path/..")
     
    Do Until FeuillesTrain = ""
    if FeuillesTrain = nom_**&feuille&nomclasseur 
            Sub condition()
                if [FeuillesTrain]NOM_DOSSIER!$F$52>5 then
                    Range("B(63+typeA)") = jour
                    Range("C(63+typeA)") = references.AddFromFile("FeuillesTrain")
                    Range("H(63+typeA)") = [FeuilleTrain]NOM_DOSSIER!$G$54
                    typeA = typeA + 1
                    Sub condition()
                if [FeuillesTrain]NOM_DOSSIER!$F$52>15 then
     
                    typeB = typeB + 1
                    Range("G(63+typeA)") = B
                    'ici je veu ajouter la lettre B dans le tableau; je sais pas s'il va accepter le(63+typeA) pque je veu faire une liste en fait...
                Else
                    Range("G(63+typeA)") = A
                End If
                End Sub
     
            End If
            End Sub
    End If
    Loop

    bon il y a encore quelques problèmes mais la réponse qui m'interresse le plus ici c'est: comment aller chercher toutes les feuilles portant un nom égal a: **mmaa ?

    où ** sont les tous les jours, mm sont les mois (janvier février ...) retranscris en type mm(si c'est possible), et aa sont les années soit: les deux derniers chiffres du nom du classeur.


    PS:
    - Je suis sur une version anglaise d'excel
    - S'il y a des erreurs flagrantes ou des choses a changer hésitez pas^^'

  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
    Points : 15 543
    Points
    15 543
    Par défaut
    Essaie de t'inspirer de ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub NomDeFeuilleVoisin()
    Dim LaFeuille As Worksheet
    Dim LaDate As String
    LaDate = "??" & "052007"
    For Each LaFeuille In ActiveWorkbook.Worksheets
        If LaFeuille.Name Like LaDate Then
            MsgBox LaFeuille.Name
        End If
    Next
    End Sub
    A+

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    ok ca a l'air de marcher, je te remercie.
    Mais je bloque sur une autre chose aussi, j'ai réussi a détourner la difficulté pour changer le mois alpha en num,
    mais il me reste toujours a prendre le nom du classeur, présenté sous la forme aaaa et a prendre les deux derniers nombre...
    exemple: pour le classeur 2007 je dois récupérer 07

    ainsi ma condition devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If FeuillesTrain = "??" & Cells(W, 1) & ThisWorkbook Then
    il me semble bien ke le workbook va chercher le nom du classeur mais il faudrais masquer les deux premiers charactères ou alors e selectionner que les deux derniers...
    Je me demande déjà si c'est possible en VBA je ne suis pas encore habitué au langage.

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    C'est bon j'ai trouvé!!
    Je vais utiliser un joli petit modulo100^^
    reste plus qu'a trouver comment on fait un modulo100...

  5. #5
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu as une autre solution
    ou alors je ne comprends pas ton pb
    Tu as aussi le format de date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Format(LaDate,"yy")
    et tu as ici tu as un tas d'autres exemples.

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    C'est cool je te remercie!!

    Une tite dernière pour la route et j'arrête d'embeter mon monde
    comment aller rechercher le nom du fichier père au fichier .xls en cour?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [FeuillesTrain]NOM_DOSSIER!$F$52>5 then
    ici le nom dossier...

    Parceque j'ai vu différente manière de chercher des fichiers, mais pas possible de cibler précisément celui recherché

  7. #7
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Thisworkbook.name
    te donne le nom du fichier contenant les macros... mais je ne suis pas sûr d'avoir compris ce que tu veux

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    bon je m'explique:
    j'ai comme hierarchie un truc du genre:

    dossier: num_train
    classeur: num_annee
    feuille: nom_mois


    et moi je veu dans une macro de num_annee (utilisée donc sur une de ses feuilles) aller rechercher le nom de num_train.

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

Discussions similaires

  1. probleme de recherche de fichier
    Par dalvarokill dans le forum ANT
    Réponses: 1
    Dernier message: 25/04/2007, 11h12
  2. [VBA-E] Probleme macro suite à fichier partagé
    Par wice33 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/06/2006, 09h13
  3. [VBA-E] Problème de navigation entre fichiers
    Par Magicmax dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/06/2006, 14h37
  4. [VBA-E]Probleme quand Lecture Fichier Texte
    Par toniox dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/05/2006, 11h11
  5. [VBA-E] PROBLEME de recherche entre colonnes
    Par july92 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/02/2006, 09h35

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