Importer des lignes précises d'un fichier txt mise en forme

Bonjour à tous,

J'ai une macro qui fonctionne assez bien mais qui est beaucoup trop lourde, et fais ramer mon fichier. J'aimerais aussi modifier ma macro et faire en sorte qu'il ne m'importe que des données précises du fichier txt.

Je m'explique, mon fichier txt est composé de cinq colonnes. Dans la 3ème colonne, est renseigné un nom de groupe, on va dire A, B ou C.

Dans mon fichier excel j'aurai une feuille pour chaque type de groupe. Le nom du groupe est renseigné en H2.

J'ai besoin que lors de l'importation, mon code lise le fichier txt, et qu'il ne m'importe que les données du groupe renseigné en h2.

Donc si dans la 3ème colonne la valeur est égale à H2 on importe la ligne. Sinon on importe pas.

L'importation se fait dans un modèle de tableau qui contient plein de formules, qui va me permettre d'effectuer des calculs. Ce modèle est disponible dans mon classeur sous une feuille appelé "modèle". Au début de ma macro, j'ouvre une nouvelle feuille, puis j'effectue le copier coller de mon modèle au fur et à mesure car l'importation de mon ficher txt me décalais tout.

Si vous avez des conseils pour tout me simplifier, et réaliser l'importation selon la valeur d'une cellule précise, je suis à l'écoute et dans tous les cas je continue mes recherches.

Merci à tous

Sub NouvellefeuilleContrôle()

        Dim feuille As Worksheet
        Dim formules_modèles As Range
        Dim nom As String
        Dim Fichiertxt As Variant

   Sheets.Add after:=Sheets(Sheets.Count)   'nouvelle feuille vierge
    Set feuille = ActiveSheet

         'assignation feuille active
    Sheets("convention").Select
        nom = Application.InputBox("Sélectionnez une Orientation de Gestion dans la feuille Convention ", "Orientation de Gestion", Type:=2)
        If nom = "Faux" Or nom = "" Then Exit Sub
        MsgBox ("Le nom que vous avez séléctionné est : " & nom)
        feuille.Name = nom
        feuille.Select
         Range("A1").Value = nom

        feuille.Select
        MsgBox ("Sélectionnez le fichier d'allocation")
        Fichiertxt = Application.GetOpenFilename("Text Files (*.txt), *.txt")
        If Fichiertxt <> False Then
            With feuille.QueryTables.Add(Connection:="TEXT;" & Fichiertxt, Destination:=Range("$A$19"))
                .Name = nom
                .FieldNames = True
                .PreserveFormatting = True
                .SaveData = True
                .AdjustColumnWidth = True
                .TextFileStartRow = 2
                .TextFileParseType = xlDelimited
                .TextFileSemicolonDelimiter = True
                .Refresh BackgroundQuery:=False
            End With
        End If

        'formatage suivant modèle SELECTION

         Sheets("Modèle").Cells.Copy
    feuille.Cells.PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False

     Sheets("Modèle").Select
    Range("H19:U43").Select
    Selection.Copy
    feuille.Select
    Range("H19").Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Sheets("Modèle").Select
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 1
    Range("A2:U18").Select
    Application.CutCopyMode = False
    Selection.Copy
    feuille.Select
    Range("A2:U18").Select
    ActiveSheet.Paste
    Range("B12").Select

End Sub
Rechercher des sujets similaires à "importer lignes precises fichier txt mise forme"