Ouverture multiple de fichier texte

Bonsoir à tous,

J'ai un problème concernant l'ouverture de fichier texte, j'ai une macro qui permet d'ouvrir un fichier texte (et un seul à la fois) en ayant la possibilité de sélectionner le dossier dans lequel je veux choisir mon fichier texte.

Par contre impossible pour moi de trouver la solution pour pouvoir ouvrir plusieurs fichier textes (sélectionner plusieurs fichier textes en une fois) et de venir les ouvrir dans des feuilles différentes ou dans autant de fichier Excel.

Si vous avez une macro sous le bras ou des infos pour savoir comment faire je suis preneur.

Merci d'avance et bonne soirée.

Bonsoir

Regardes ce que j'ai trouvé dans l'aide VBA

Sub UseFileDialogOpen()
    Dim lngCount As Long

    ' Open the file dialog
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show
        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count
            MsgBox .SelectedItems(lngCount)
        Next lngCount
    End With
End Sub

C'est ce qu'il te faut, ici il y a affichage des noms des fichiers sélectionnés mais on peut afficher un traitement pour chaque fichier

Bonne soirée

Bon alors je veux bien, mais la macro elle fait quoi car je la lance, je choisi mes fichier, mais rien ne s'ouvre ^^.

En fait si j'ai compris il faut que je couple ta macro à la mienne?

Voici la mienne, qui ouvre un seul fichier

Sub ImportTxtFile()

' ImportTxtFile Macro

' Macro enregistrée le 02/08/2011 par coste_r

Const MainWksheet = "main"

Dim fileToOpen As String, MainWbk As String

MainWbk = ActiveWorkbook.Name

fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")

Workbooks.OpenText Filename:= _

fileToOpen _

, Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _

xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _

Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), _

Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _

Array(9, 1), Array(10, 1), Array(11, 1)), TrailingMinusNumbers:=True

Workbooks(MainWbk).Activate

'

End Sub

Bonsoir

Regardes ce que l'on peut faire

Absolument génial, c'est exactement ce qu'il me fallait.

Comme tu as l'air callé, pourrais tu me dire?

j'ai une macro qui permet d'annalyser une courbe determiner les max min etc... j'ai 180 fichier texte.

Grâce à ta macro, je peux tous les ouvrir facilement, par contre je ne sais pas comment faire pour dire à ma macro de se lancer sur toutes les feuilles qui ont été ouverte.

Aurais tu une solution à me proposer s'il te plait.

C'est une commande à rajouter au début de ma macro je suppose ou une boucle, mais je ne sais comment faire.

Encore merci beaucoup,

Bonne journée

Bonjour

Le mieux c'est que tu fournisses un fichier avec ta macro

Cela sera plus facile à intégrer

Aussi 2 ou 3 fichiers texte

Bonne journée

D'accord, voici le fichier Excel qui s'appele test2 , il est composé de deux macros, la première est l'import des fichier textes ( encore merci^^) et la seconde permet de faire un petit calcul sur le fichier importé.

Mon soucis c'est de faire fonctionner la macro en cliquant sur le bouton "Trouver les max" et qu'elle s'applique sur toutes les feuilles ouverte à partir de la feuille 2, car la feuille 1 contient deux boutons avec les macros.

Par la suite j'aimerais copier certaines valeurs trouvé par la Macro "Trouver les max", pour venir les copier dans un autre Fichier(classeur) Excel (pas feuille Excel) puis sélectionner toutes les feuilles sauf la feuille 1 et supprimer les feuilles.

J'ai commencé à rassembler des infos pour réaliser ce dont j'ai besoin.

Notamment pour selectionner les feuilles... (actuellement j'arrive en selectionner qu'une et la supprimer sans arriver à les selectionner toutes)

CType(Me.Application.ActiveWorkbook.Sheets(2), Excel.Worksheet).Select()

CType(Me.Application.ActiveWorkbook.Sheets(2), Excel.Worksheet).Delete()

ou

Globals.Sheet2.Delete()

En tous cas merci beaucoup de m'aider.

77test2.zip (13.33 Ko)
24signal-clcl-0.txt (2.49 Ko)
23signal-clcl-5.txt (2.49 Ko)
40signal-clcl-10.txt (2.49 Ko)

Bonjour

J'ai un petit souci

Lors de l'importation j'ai toutes les valeurs en format texte : Est-ce normal ou les faut il au format nombre ?

Si tu peux joindre un fichier complet avec l'importation des fichiers textes et des calculs que tu fais dans la page

Avec les valeurs au format texte j'ai 7 résultats en colonne C et 3 lorsqu'elles sont au format nombre

Bien sur au format texte, les formules suivantes sont fausses

A te lire je passe en stand bye

Alors non ce n'est pas normal c'est au format nombre normalement, mais c'est que j'ai configuré windows pour se mettre sur la norme anglosaxone au niveau "." ou "," pour une meilleure compatibilité entre les logiciels que j'utilise.

Sur le fichier Test que je t'ai joins, j'ai mis en feuille 1 un boutton qui permet de lancer le calcul de la macro TrouveMax.

Cette macro active la "feuil2" et lance le calcul.

J'ai mis des données feuil2 à feuil5, si elles sont au format texte pour toi, c'est pas bon elle doivent être au format nombre.

Ce qu'il faudrait c'est que la macro "TrouveMax" lance le calcul sur toutes les feuilles ouvertes execpté la première ou se situe les boutons.

=====================================Petit plus==================================================

Au passage comme j'ai 100 feuilles qui s'ouvrent, j'ai dèjà trouvé le moyen de les refermer toutes sauf la feuille1 ou se trouve les boutons

Sub EffacementTouteFeuille()

For Ctr = Sheets.Count To 1 Step -1

If Sheets(Ctr).Name <> ActiveSheet.Name Then

Sheets(Ctr).Delete

End If

Next

End Sub

Le problème à cette macro c'est quand je la lance ça me supprime bien toutes les feuilles, mais à chacune il me dit cette feuille peut contenir des données êtes vous sur de vouloir supprimé...

En gros je clik 100 fois sur oui... Pas terrible ^^

je me demande s'il y a pas une astuce avec

On Error Resume Next

SendKeys ("{ENTER}")

Encore désolé de te prendre du temps :/

Merci beaucoup

-- 05 Aoû 2011, 15:01 --

Désolé de double post mais j'ai réglé le deuxième probléme que j'avais avec une commande simple

Sub EffacementTouteFeuille()

With Application: .ScreenUpdating = False: .DisplayAlerts = False: End With

For Ctr = Sheets.Count To 1 Step -1

If Sheets(Ctr).Name <> ActiveSheet.Name Then

Sheets(Ctr).Delete

End If

Next

End Sub

ça me permet de supprimer tous les onglet sauf celui qui est actif (donc celui où se trouve le bouton)

Par contre toujours mon problème pour faire marcher la macro "TrouveMax" sur toutes les feuilles ^^

Merci

36test.zip (25.42 Ko)

Bonjour

A tester

Alors oui c'est vraiment pas mal, j'ai mis un petit moment à comprendre comment ça fonctionne, mais en fait tu as juste ajouter dans la macro ImportTxtFile, la macro TrouveMax si j'ai bien compris. j'ai constater aussi que tu as simplifié les bêtises que j'avais faites par exemple le copier coller des collones A à B ^^

Sinon, c'est une méthode qui marche, mais j'aurais aimé pouvoir activer la macro TrouveMax sur toutes les feuilles ouvertes, car j'ai d'autres fonctions que je peux appliquer aux données qui sont ouvertes.

S'il n'y a pas de solutions, ça marche quand même avec la méthode que tu m'a passé.

Merci beaucoup encore et encore ne fois

Bonjour

Perceval34 a écrit :

Alors oui c'est vraiment pas mal

tu voulais dire "absolument génial " Non ça va les chevilles vont bien, merci

Bon tu voudrais que la macro "TrouveMax" soit activée par un bouton ?

Si c'est ça part du même principe que pour la macro de suppression des feuilles

Sinon je n'ai pas compris la question et il me faut d'autres explications

Bonne journée

Pardon tu as raison c'est absolument génial ^^.

Oui en fait je voudrais que quand j'appuie sur le bouton la macro "TrouveMax" ouvre une à une toutes les feuilles et applique sa fonction.

En gros 1 bouton pour l'import des fichier texte dans des feuilles séparées;

1 bouton qui calcule sur chacune des feuilles ouvertes la fonction TrouveMax

et il me semble que c'est tout.

Je vais essayer de voir en m'inspirant de toutes les pistes que tu m'as donné de réaliser ce dernier pas qui me sépare du but final.

Merci pour tout tu es absolument génial

Bonsoir

Pas de soucis

Si tu rencontre des difficultés pour la réalisation de ta macro, reviens et tu trouveras de l'aide

Bonne nuit

Rechercher des sujets similaires à "ouverture multiple fichier texte"