Import .txt avec filtre

Bonjour à tous,

Je souhaiterais importer dans excel un .txt (jusqu'ici aucun problème).

Le problème est que j'aimerais filtrer ce .txt non à partir d'excel mais dès l'import.

Dans la colonne "TYPE" du fichier .txt, j'aurais voulu qu'excel insère les lignes que si la colonne "TYPE" comporte la valeur "PANNEAUX", " PLEXI" ou"STRAT".

En vous remerciant.

Cordialement

20nouveau-document-texte.txt (796.00 Octets)

Bonjour,

Erreur d'interprétation un fichier "txt" est un fichier texte de part sa définition il n'a pas réellement de colonne.

A l'importation de ton fichier Txt Excel ouvre l'assistant de convertion et te propose dans ton cas d'utiliser les "tabulations"

comme séparateur de colonne. Ensuite les données sont importées.

Comment veux tu que Excel importe un sélection de données avant qu'elle n'apparaissent en colonne ?

Donc faire une macro aprés import pour selectionner automatiquement les données à garder oui mais avant import j'en doute.

Salut,

Dans une optique d'automatisation, je me suis dit qu'il était plus facile de faire ainsi, mais ça ne semble possible.

Le problème qui me viens en premier lieu, c'est comment filtrer de façon automatique sachant que je n'ai aucune donnée à la base, avant d'importer, donc impossible de faire une macro pour filtrer quoi que ce soit.

La finalité, c'est d'importer des données d'un .txt, et de les filtrées suivant le contenue de la colonne "TYPE", comment procéder ? En utilisant le moins de "clique" possible ?

En filtrant directement un .txt, sa résolvait tout, dommage !

Dans ce cas peut être avec un Tableau croisé dynamique que tu actualiserais à chaque import ?

Bonjour

ou se trouve la colonne Type ?

A+

Maurice

C'est la dernière du fichier :

180928055139500375

Bonjour à tous

Faisable dans une requête PowerQuery (add on sur 2010 et 2013, intégré à partir de 2016)...

Je vais tenter de télécharger cette extension alors.. merci !

Je vous ferais un retour.

Bonjour

voila une macro a toi de voir

A+

Maurice

Private Sub ChoixFicTxt()
Dim dossier As FileDialog
ChoixChemin = ActiveWorkbook.Path & Application.PathSeparator
   Set dossier = Application.FileDialog(msoFileDialogFilePicker)
      With dossier
         .AllowMultiSelect = False
         .InitialFileName = ChoixChemin
         .Title = "Choix d'un fichier Txt"
         .Filters.Clear
         .Filters.Add "Fichier Txt ", "*.txt*", 1
            If .Show = -1 Then
               Chemin = .SelectedItems(1)
               LireMan Chemin
            End If
      End With
   Set dossier = Nothing
End Sub

Sub LireMan(NomFichier)
Dim Ar() As String
Dim Lig&, Col&, X&
   With Application
      .ScreenUpdating = False
      .EnableEvents = False
      .Calculation = xlManual
   End With
Rows("1:" & Rows.Count).ClearContents
'Sep = ","
Sep = vbTab
Lig = 1
' -----------------------------------------
On Error Resume Next
   Open NomFichier For Input As #1
        Do While Not EOF(1)
            Line Input #1, Chaine
               Ar = Split(Chaine, Sep)
               Col = 1
                  For X = LBound(Ar) To UBound(Ar)
                     Cells(Lig, Col).Value = CStr(Ar(X))
                     Col = Col + 1
                  Next
                  If Range("Q" & Lig).Value = "PANNEAUX" Then Lig = Lig + 1
                  If Range("Q" & Lig).Value = "STRAT" Then Lig = Lig + 1
                  If Range("Q" & Lig).Value = "PLEXI" Then Lig = Lig + 1
            Lig = Lig + 1
        Loop
    Close #1
' -----------------------------------------
   With Application
      .ScreenUpdating = True
      .Calculation = xlCalculationAutomatic
      .EnableEvents = True
      .CutCopyMode = False
      .Goto [A1], True
   End With
End Sub

Salut, alors j'aimerais essayer mais j'ai un niveau tellement faible qu'après avoir rentrer ton code dans "ThisWorkbook" je ne sais comment lancer le code ??

Cordialement

Bonjour

Voila un fichier avec un bouton

A+

Maurice

C'est parfait, c'est exactement le résultat que je souhaitais, merci !

Ne manque plus qu'a supprimer les lignes vides, mais pour ce faire je pense pouvoir passer par excel directement je suppose ?

Bon après pour l'automatiser en VBA, à la suite du "Bouton1_Click", c'est une autre histoire.

Cordialement

Salut, j'ai réussie l'idée de supprimer les lignes vides.

Comment insérer les lignes du .txt à partir de la ligne A10 par exemple et non à A1 ?

Cordialement

Bonsoir

je ne comprend plus

1 je veux des ligne vide

2 je supprime les ligne vide

3 je veux des ligne vide a partir A10 & en plus tu donne un fichier Txt de 9 lignes et sans modele

pour moi ses le dernier envoie

A+

Maurice

                  If Lig > 9 Then
                        If Range("Q" & Lig).Value = "PANNEAUX" Then Lig = Lig + 1
                        If Range("Q" & Lig).Value = "STRAT" Then Lig = Lig + 1
                        If Range("Q" & Lig).Value = "PLEXI" Then Lig = Lig + 1
                  End If

Salut,

Dans ton fichier, "Import&Ligne", le bouton servait à importer le .txt en filtrant les lignes par la colonne "TYPE" avec les valeurs PANNEAUX, PLEXI, STRAT uniquement. Le problème, c'est que sa créait une ligne vide entre chaque ligne.

180928095247909283

J'ai de ce fait, créer un code pour supprimer ces vides.

Mon code semble marcher, c'est juste que les données importées démarre à A1, mais j'aimerais quelle démarre à A10.

EDIT : Finalement je dit que des conneries, en ajoutant mon code, le .txt s'ajoute entièrement, le filtrage ne marche plus ??

Ton code est top, mais sa créer des vides, comment les supprimées ? Et comment démarrer à A10 ou A5 par exemple et non A1

re

regarde bien

Sep = vbTab
Lig = 10 ' comence a la ligme 10
' -----------------------------------------
On Error Resume Next
   Open NomFichier For Input As #1
        Do While Not EOF(1)
            Line Input #1, Chaine
               Ar = Split(Chaine, Sep)
               Col = 1
                  For X = LBound(Ar) To UBound(Ar)
                     Cells(Lig, Col).Value = CStr(Ar(X))
                     Col = Col + 1
                  Next
            Lig = Lig + 1
        Loop
    Close #1

pour moi ses fini

Maurice

Rechercher des sujets similaires à "import txt filtre"