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 :

ouverture de fichier à la vollée en excel vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 98
    Points : 55
    Points
    55
    Par défaut ouverture de fichier à la vollée en excel vba
    Bonsoir à tous !
    Je dois ouvrir une série de fichiers portant le même nom mais dans des répertoires différents. Je lance donc une procédure avec la méthode filesearch depuis le répertoire parent avec comme nom de filename ma variable. Bon jusque là pas de problème. Seulement lorsqu'il ouvre les fichiers il m'incrémente le nom de mon fichier dès l'ouverture !!! Ce qui fait que lors de l'enregistrement je me retrouve avec un nom de fichier différent de l'original !!!!!
    J'ai pourtant appliquer une méthode newsearch mais bon doit manquer quelquechose......
    Voici une partie de 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
    Sub recherche_fiche2()
    i = 0
    nom_reference = "580"
    nomuap = "xxx"
    nom_ilot = "rrr"
    nommachine = "allonges a7"
    chaine_rep = "c:\Fabrication\Indicateurs 2005\" & nomuap & "\" & nom_ilot & "\"
    With Application.FileSearch
        .NewSearch
        .LookIn = chaine_rep
        .SearchSubFolders = True
        .Filename = nommachine
        .FileType = msoFileTypeAllFiles
        If .Execute() > 0 Then
            MsgBox "Il y a  " & .FoundFiles.Count & _
            " fichiers à modifier"

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    manque le code de l'ouverture du fichier...!

  3. #3
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    Oui merci bbil
    Ravi de te croiser à nouveau
    Alors voilà la suite du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Worksheets(1).activate
    Range("a1").select
    For i = 1 to .foundfiles.count
    cells(i,0).value = .foundfiles(i)
    chemin=cells(i,1).value
    Workbooks.opne filename:=foundfiles(i)
    activeworkbook.close
    next i
    Ce qui se passe c'est que ca marche bien lorsque les noms de fichiers sont alphabétiques, par contre dès que le nom des fichiers se termine par un chiffre il incrémente tout seul le nom des fichiers à l'ouverture un peu comme lorsqu'excel ouvre le fameux classeur auquel il ajoute un numéro d'index (1 pour le premier, 2 pour le second, etc...)
    Voilà je pense qu'il faudrait modifier un paramétrage d'excel mais je ne connais pas exactement lequel.
    Je regarde dans ce sens en attendant de lire ton éventuelle proposition.

    Merci

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et lorsque tu ouvre "manuellement" ces fichiers leur nom s'incrémente

  5. #5
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    Non ca ne s'incrémente pas. D'ailleurs comme les fichiers portent le meme nom c'est impossible de les ouvrir en même temps à part en les renommant et c'est apparemment ce que la macro fait sans que je lui demande !!!!!

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    a OK... c'est de la que vien le probléme , tu ne peu pas ouvrir 2 fichiers de même Nom (même s'il ne sont pas sur le même répertoire ..) ... as-tu besoin de les ouvrir simultanément ?

  7. #7
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    non pas en meme temps
    l'un à la suite de l'autre pour faire le meme traitement pour différents fichiers situés dans des répertoires différents mais portant le même nom.
    Cela marche si le nom du fichier se termine par une lettre mais excel incrémente tout seul le nom du fichier à l'ouverture (et c'est ca le plus étonnant !!!) s'il se termine par un chiffre (en l'occurrence ligne allonges A7) cela donne :
    première occurrence (janvier):
    ligne allonges a7 avant ouverture
    lignes allonges a71 aprés
    deuxième occurrence (février)
    lignes allonges a7 avant ouverture
    lignes allonges a72 après
    etc...

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    j'arrive pas reproduire le probléme... tu dis pas tous nous dire... peu-être quelque-chose dans le traitement que tu applique au fichier... :

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Points : 374
    Points
    374
    Par défaut
    Bonsoir,
    A partir d'un classeur, tu peux importer les fichier qui t'intéressent d' un répertoire, les modifier et ensuite en importer d'un autre répertoire et agir de la même façon.
    Pour sélectionner les fichiers, appuyer sur Ctrl et sélectionner avec la souris.
    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
    54
    55
    56
     
    Option Explicit
    Sub OuvreClasseur()
    Dim strFiles
    Dim xlFiles
    Dim blnOuvert As Boolean
    Dim strMessage As String
    Dim wbk As Workbook
    Dim i As Integer
    Dim j As Integer
     
    'Affiche la boîte de dialogue Ouvrir
    strFiles = Application.GetOpenFilename _
    (FileFilter:="Fichiers Excel (*.xls),*.xls", _
    Title:="Sélectionnez les fichiers à ouvrir", _
    MultiSelect:=True)
     
    'Teste si des fichiers ont été sélectionnés
    If TypeName(strFiles) = "Variant()" Then
    ReDim xlFiles(UBound(strFiles))
    For i = 1 To UBound(strFiles)
     
    'Contrôle l'exention du fichiers
    If Right(strFiles(i), 3) = "xls" Then
     
    'Teste si le fichier est déjà ouvert
    blnOuvert = False
    For Each wbk In Workbooks
        If wbk.Path & "\" & wbk.Name = strFiles(i) Then
                blnOuvert = True
            End If
        Next wbk
     
    'Stocke le nom de fichiers dans un tableau
    If Not blnOuvert Then
        j = j + 1
        xlFiles(j) = strFiles(i)
        strMessage = strMessage & strFiles(i) & vbCr
        End If
    End If
    Next i
     
    'Ouvre tous les fichiers Excel après confirmation
    If j > 1 Then
        strMessage = "Confirmez-vous l'ouverture des fichiers :" _
        & vbCr & strMessage
    If MsgBox(strMessage, vbYesNo + vbQuestion) = vbYes Then
        For i = 1 To j
        Workbooks.Open FileName:=xlFiles(i)
        Next i
        End If
    End If
    Else
    MsgBox "Aucun fichier sélectionné"
    End If
    End Sub
    jpleroisse

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par leroissejp
    Bonsoir,
    A partir d'un classeur, tu peux importer les fichier qui t'intéressent d' un répertoire, les modifier et ensuite en importer d'un autre répertoire et agir de la même façon.
    Pour sélectionner les fichiers, appuyer sur Ctrl et sélectionner avec la souris.
    ...
    jpleroisse
    et c'est ou que tu gére le probléme d'index ?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Points : 374
    Points
    374
    Par défaut
    Bosoir,
    bbil, je n'ai aucun problème avec cette façon d'ouvrir, de modifier et de fermer les classeurs.Les classeurs sont simplement sauvegarder avec les modifications.Il n'y a aucune indexation.

    jpleroisse

Discussions similaires

  1. [VBA - Excel] Problème d'ouverture de fichier
    Par seiryujay dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2006, 10h55
  2. [VBA-E] Ouvrir un Userform à l'ouverture du fichier excel
    Par dimitrios dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/12/2006, 16h35
  3. [VBA-E] ouverture de fichier word à partir d'Excel
    Par aramge dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/08/2006, 09h18
  4. [VBA][Excel] Ouverture Enregistrement fichier
    Par mulanzia2003 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 31/07/2006, 11h38

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