erreur 1004 mise en forme tableau

ptifanou

XLDnaute Junior
Bonjour,
j'ai un problème sur un classeur avec 2 feuilles, 1 macro pour chaques feuilles qui importe les données d'un fichier texte et les met en forme:feuil1 macro prev et feuil 2 macro realiser.
J'ai rajouter une macro "miseenformedetableau" pour mettre en forme tableau les données extraites, et malheureusement je tombe sur une erreur 1004 :
1582644663772.png

je ne comprends pas pourquoi!!!
 

Pièces jointes

  • attachement deux macros.xlsm
    30.7 KB · Affichages: 11

goube

XLDnaute Impliqué
Re,

oui effectivement le fichier texte n'a pas l'air très compatible avec power query.
Désolé.

Macro à tester.
Code:
Sub MFC_Tableau()

    Feuil2.Activate
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveSheet.QueryTables("GASE-SELE_59147212").Delete
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$I$25"), , xlYes).Name = _
        "Tableau2"
    Range("Tableau2[#All]").Select
    ActiveSheet.ListObjects("Tableau2").TableStyle = "TableStyleLight1"
End Sub

Le message vient du fait qu'il y a une requête active dans la plage de données.
d'ou le : ActiveSheet.QueryTables("GASE-SELE_59147212").Delete
Cordialement.
 
Dernière édition:

laurent3372

XLDnaute Impliqué
Supporter XLD
Les cellules de la colonne A pouvant contenir des blancs, on les supprime.
La création de table dans miseenformede tableau échouait parce que la Querytable créée dans la sub PREV n'était pas détruite. Le message d'erreur était assez explicite.
Sub PREV corrigée:
VB:
Sub PREV()
    ActiveSheet.UsedRange.Clear
'convertir et extraire .txt
With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;C:\Users\MVVD2765\Desktop\EXCEL 2\ATTACHEMENTS\REALISER\GASE-SELE_59147212.TXT" _
        , Destination:=Range("$A$1"))
        .Name = "OEIE.AMS_900210.txt"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileOtherDelimiter = "|"
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
        .Delete     'On supprime la Querytable
    End With
    'supprimer colonnes
    
    Columns("A:B").Delete Shift:=xlToLeft
    
    'supprimer ligne au dessus de asp
    Dim p As Range
    On Error Resume Next
    Set p = Columns(1).Cells.Find("asp")
    Rows("1:" & p.Row - 1).EntireRow.Delete
    'supprime tout en dessous de f/mat
    On Error Resume Next
    Range(Cells(Rows.Count, 1), Columns(1).Cells.Find("F/Mat").Offset(1)).EntireRow.Delete
    ' On supprime les espaces blancs dans la colonne A
    Range("A:A").Replace What:=" ", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    'supprime ligne vides
    Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delet
End Sub
Cordialement,
--
LR
 

ptifanou

XLDnaute Junior
Bonjour merci a vous,
serait il possible remplacer
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\MVVD2765\Desktop\EXCEL 2\ATTACHEMENTS\REALISER\GASE-SELE_59147212.TXT"
par
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;listbox1.value"
pour créér un bouton dans un userform afin de lancer cette macro selon le nom d'un fichier présent dans une listbox?
cdlt
 

ptifanou

XLDnaute Junior
merci laurent,
mais en fait je te joints un fichier avec un userform, je voudrais que la macro PREV soit activer en cliquant sur un bouton de ce userform et ouvre le fichier selectionner dans une listbox.
 

Pièces jointes

  • userform fait.xlsm
    29.7 KB · Affichages: 2

ptifanou

XLDnaute Junior
Les listes box contiennent des noms de fichiers indexé depuis un dossier windows, par exemple oeie. Ams900210. Txt
Le bouton en dessous de listbox me servirait à lancer la macro prev, c à d insérer dans une feuille ce fichier en le mettant en forme.
Et je voudrais que cette macro récupère le nom du fichier sur le lequel je suis positionner dans ma listbox pour ouvrir ce fichier.
 

ptifanou

XLDnaute Junior
Merci beaucoup laurent de passer sur mon cas!!!
le userform fonctionne, par contre lorsque j'essaye de copier ton code sur une 2eme list box(lbfiles2) dans le même userform qui pointe sur un autre dossier cela ne marche pas.
amicalement
 

Pièces jointes

  • Copie de attachement deux macros (2).xlsm
    32.5 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 189
Messages
2 086 031
Membres
103 101
dernier inscrit
CyberAlex93