Sélection de certaines lignes

Bonjour,

Avec un fichier de type .txt, que je copie dans une page "feuill1", j'aimerai récupérer toutes les lignes où il y a '20:00' ou '21:00' dans une page feuille 2 et toutes les lignes ou il n'y a pas '20:00' ou '21:00' dans une page "feuill2" (et sans lignes blanches)

J'ai déjà essayé tout ce que je savais mais je ne trouve pas de bonne solution.

Pour trouver s'il y a ou non 20:00 ou 21:00 dans chaque ligne, j'utilise la formule stxt(a2;144;5). J'avais pensé combiner ça avec une condition si mais je n'y arrive pas.

D'avance merci pour votre aide.

820170602123006.zip (755.00 Octets)

Bonjour,

avec donnée==>convertir, tu tansformes ton fichier en tableau, puis tu filtres suivant la valeur désirée.

sur autant de feuilles que tu as dupliquées

Crdlmt

Bonjour à tous

Une solution PowerQuery (intégré à 2016) : le fichier y est chargé, restructuré et deux variantes filtrées insérées dans le classeur

6txt-heures-pq.xlsx (34.30 Ko)

Bonjour

pas terrible ton fichier Txt

peux être comme ca a voir

A+

Maurice

Private Sub ChoixFicTxt()
Dim ChoixChemin$
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)
               LireTxt Chemin
            End If
      End With
   Set dossier = Nothing
End Sub

Sub LireTxt(NomFichier)
Dim Ar() As String
   With Application
      .ScreenUpdating = False
      .EnableEvents = False
      .Calculation = xlManual
   End With
Rows("1:" & Rows.Count).Clear
Sep = " "
Lig = 1
' -----------------------------------------
On Error Resume Next
   Open NomFichier For Input As #1
        Do While Not EOF(1)
            Line Input #1, Chaine
                Chaine = Application.Trim(Chaine)
               Ar = Split(Chaine, Sep)
               Col = 1
               Test = Split(Chaine, Sep)(9)
               If Test <> "0A20:00" Or Test <> "0A21:00" Then
                  For X = LBound(Ar) To UBound(Ar)
                     Tmp = Ar(X)
                     Cells(Lig, Col).Value = Tmp
                     Col = Col + 1
                  Next
            Lig = Lig + 1
            End If
        Loop
    Close #1
' -----------------------------------------
   With Application
      .ScreenUpdating = True
      .Calculation = xlCalculationAutomatic
      .EnableEvents = True
      .CutCopyMode = False
      .Goto [A1], True
   End With
End Sub

Bonjour à tous

Une solution PowerQuery (intégré à 2016) : le fichier y est chargé, restructuré et deux variantes filtrées insérées dans le classeur

Merci pour votre aide. Pourriez-vous juste me dire comment cela fonctionne au niveau du chemin? Si je tappe C:\091218\12.txt dans la commande cmd ou dans exe, la fenêtre s'ouvre bien, mais ça ne marche pas quand je la place dans la page Tech de votre fichier. Et je vois pas trop pourquoi

merci d'avance

RE

Le chemin c'est juste C:\091218\

J'avais compris que le fichier, lui, s'appelait toujours 20170602123006.txt

Si le nom du fichier change à chaque fois il faut modifier le requête : ci-joint

Changer le chemin et le nom puis Données, Actualiser Tout

6txt-heures-pq.xlsx (34.21 Ko)

du coup c'est T:\TEMP\C:\091218\12.txt ou juste C:\091218\12.txt, car aucun des deux ne marche.

Je suppose qu'il n'y a pas d'autre endroit où il faut changer ça (à part Tchemin)?

J'ai toujours droit à "échec lors de l'initialisation de la source de données. Vérifier le serveur de base de données ou contacter votre administrateur de base de données. Assurez vous que la base de données externe est disponible et recommencez l'opération... "

RE

C'est à toi de mettre le bon chemin : si c'est bien dans le dossier 091218 du disque C: et que le fichier s'appelle 12.txt alors juste mettre

C:\091218\12.txt dans le tableau Tchemin puis onglet Données, actualiser tout

Rechercher des sujets similaires à "selection certaines lignes"