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 :

Ouvrir des fichier avec VB sous excel


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
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Par défaut Ouvrir des fichier avec VB sous excel
    Bonjour,

    je souhaite ouvrir un série de fichiers, sans extension, et tous de noms differents, pour leur appliquer un traitement à chacun d'eux (l'un après l'autre).
    Quelqu'un connaît-il une commande permettant d'indiquer sous vb l'ouverture de fichiers, qque soit leur nom?

    par avance merci,
    bien à vous,

    Sébastien

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonjour,

    Citation Envoyé par sebastien06 Voir le message
    .... un série de fichiers, sans extension, ...
    ces fichiers sont sans extensiont mais au moins tu connais leur type ?

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Par défaut
    Mes fichiers son en format ascii

  4. #4
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par sebastien06 Voir le message
    Mes fichiers son en format ascii
    voir : Workbooks.OpenText

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim wk as workbook
    dim YaFichier as string
    YaFichier = "c:\tmp\MonFichier"
     
    set wk = Workbooks.Opentext (YaFichier)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Par défaut
    Merci
    je vais tenter de me débrouiller et je vous recontacte

    merci bien,

    Sébastien

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Par défaut
    Re-bonjour,

    petite question je suis en train de tenter de faire mon code.

    L'exécution de mon code s'effectue par l'intermédiaire d'un classeur excel qui servira d'interface utilisateur.

    Quand je lance ma macro, un des fichiers est importé dans un nouveau classeur. Problème: lorsque je veux modifier ce nouveau classeur, je ne parviens pas à l'activer, c'est en fait qui l'autre classeur (interface utilisateur) qui subit les modifs.. Puis-je activer ce nouveau classeur nouvellement crée?

    Merci,

    sébastien

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Je vais te proposer un peu de lecture qui devrait te venir en aide.

    http://warin.developpez.com/access/fichiers/
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  8. #8
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Donc tu t'inspire de mon code plus haut ...

    tu met à jour la ligne Const Rep = ..... avec le nom de ton répertoire ..

    Yalance et ta sub de lancement tu peu changer son nom en CommandButton1_Click() celle ci-boucle sur tous les fichier de ton répertoire et lance JeTraite


    JeTraite .. est appellé pour chaque fichier tu remplace :
    '.... A completer

    par ton code de traitement (en pensant à le corriger ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    JeTraite....
    ...
     '.... A completer
    With wk.sheet(1) ' En mettant 1 tu traite la 1° feuille de ton classeur sans t'ocupper de son nom algeria....
             .Rows("1:1").Insert Shift:=xlDown
             .Range("A1").FormulaR1C1 = "BGI Source N°"
    (   ....)
             .Columns("C:C").EntireColumn.AutoFit
    end with
     wk.save
     wk.close true 'ferme et enregistre fichier
    en sub

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Par défaut
    Oui désolé je débute et je me sers beaucoup de l'enregistrement automatique pour gagner du temps. J'ai apporter les modifications ça y est. malheureusement le fichier ne s'enregistre pas et ne passe pas au suivant.
    Je vais continuer je ne suis pas couché encore je crois..
    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
    Sub CommandButton1_Click()
    Const Rep = "C:\Documents and Settings\sgallo\Desktop\Elodie_fichier\" ' le répertoire contenant mes fichiers..
    Dim UnFichier As String
     
    UnFichier = Dir(Rep & "*.")   'Listing des fichier sans extensions..
    While UnFichier <> ""
       JetRaite Rep & UnFichier 'Traitement du fichier
      YaFichier = Dir 'Fichier suivant
    Wend
    End Sub
     
    'Procedure de traitement du fichier
    Sub JetRaite(YaFichier As String)
      Dim wk As Workbook
      Workbooks.OpenText YaFichier, Origin:= _
          437, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), _
          Array(8, 1), Array(16, 1), Array(25, 1), Array(27, 1), Array(29, 1), Array(30, 1), Array(38 _
          , 1), Array(40, 1), Array(42, 1), Array(44, 1), Array(52, 1), Array(61, 1), Array(67, 1), _
          Array(73, 1), Array(76, 1), Array(79, 1), Array(85, 1), Array(87, 1), Array(91, 1), Array( _
           93, 1), Array(99, 1), Array(105, 1), Array(108, 1), Array(111, 1), Array(112, 1), Array(113 _
           , 1), Array(120, 1), Array(126, 1)), TrailingMinusNumbers:=True
     
        'With wk.Sheet(1)
             '.Rows("1:1").Insert Shift:=xlDown
             '.Range("A1").FormulaR1C1 = "BGI Source N°"
        'End With
     
     
    'ActiveWorkbook.SaveAs YaFichier
    'ActiveWindow.Close
    'End Sub
     
     
     
     
     
     
     
    wk.Save
     wk.Close True 'ferme et enregistre fichier
    End Sub
    Effectivement il s'enregistre mais ne passe toujours pas au suivant et réécrit sur le même en enregistant en txt au lieu de xls. je vais reprendre tout les conseils que vous m'avez donnés depuis le début il doit manquer une ligne de codes,
    merci

  10. #10
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    oups une erreur sur la variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UnFichier = Dir 'Fichier suivant
    pour la sauvegarde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wk.saveAs yaFichier, xlNormal

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Par défaut

    Oui je m'en suis aperçu juste après avoir envoyé ma réponse!
    Je suis content ça prend forme, la boucle tourne du moins je suis rassuré...

    Je vais maintenant tenter de d'ajouter les optios (with..) qui ne fonctionnent pas et enregistrer en xls car pour l'instant le fichier est écraser en txt.

    je ne désespère pas!

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

Discussions similaires

  1. importation des fichiers avec play sous forme excel
    Par missplay dans le forum Play!
    Réponses: 0
    Dernier message: 03/03/2014, 08h57
  2. Impossibilité d'ouvrir des fichiers avec Access
    Par kmarcel dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2008, 16h07
  3. Ouvrir des fichiers avec leur logiciel par défaut
    Par SyLvErStOrM dans le forum Langage
    Réponses: 3
    Dernier message: 24/04/2008, 16h56
  4. Enregistrer des fichier en DBF sous Excel 2003
    Par dadymars dans le forum Excel
    Réponses: 1
    Dernier message: 23/09/2007, 17h00
  5. Enregistrer des fichier en DBF sous Excel 2007
    Par filigane dans le forum Excel
    Réponses: 1
    Dernier message: 20/09/2007, 10h56

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