XL 2016 Mise en forme fichier texte sous excel

  • Initiateur de la discussion Initiateur de la discussion VBA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

VBA

XLDnaute Nouveau
Bonjour,

J'extraie un fichier texte depuis un erp que je voudrais mettre en forme sur excel, j'ai deja un bout de code qui le fait mais j'aurais besoin de votre aide pour la sélection du fichier texte. Je voudrais avoir l'affichage d'une fenêtre pour le choix du fichier, si c'est possible bien sûr.

Voici le bout de code que j'ai actuellement:

VB:
Sub mef()
  Range("A1").Select
  With ActiveSheet.QueryTables.Add(Connection:= _
  "TEXT;c:\user\U538819\test\job17.5.2018.txt", Destination:=Range("$A$1"))
  .CommandType = 0
  .Name = "job17.5.2018"
  .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 = 10
  .TextFileParseType = xlDelimited
  .TextFileTextQualifier = xlTextQualifierDoubleQuote
  .TextFileConsecutiveDelimiter = False
  .TextFileTabDelimiter = True
  .TextFileSemicolonDelimiter = False
  .TextFileCommaDelimiter = False
  .TextFileSpaceDelimiter = False
  .TextFileOtherDelimiter = "|"
  .TextFileColumnDataTypes = Array(9, 1, 1, 1)
  .TextFileTrailingMinusNumbers = True
  .Refresh BackgroundQuery:=False
  End With
  Columns("A:A").ColumnWidth = 5.71
End Sub

Merci.
 
J'ai pu récupérer le fichier via get open filename mais j'ai une erreur qui se produit mais je ne comprend avec son nom. Quand je le rajoute dans le code pour la mise en forme sa m'affiche une erreur Argument ou appel de procédure incorrect.

Voici mon code :
VB:
Sub mef()

stFichier = Application.GetOpenFilename
tmpStr = Split(stFichier, "\")
nomF = tmpStr(UBound(tmpStr))

  Range("A1").Select
  With ActiveSheet.QueryTables.Add(Connection:= _
  "TEXT;c:\user\U538819\test\" & nomF, Destination:=Range("$A$1"))
  .CommandType = 0
  .Name = nomF
  .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 = 10
  .TextFileParseType = xlDelimited
  .TextFileTextQualifier = xlTextQualifierDoubleQuote
  .TextFileConsecutiveDelimiter = False
  .TextFileTabDelimiter = True
  .TextFileSemicolonDelimiter = False
  .TextFileCommaDelimiter = False
  .TextFileSpaceDelimiter = False
  .TextFileOtherDelimiter = "|"
  .TextFileColumnDataTypes = Array(9, 1, 1, 1)
  .TextFileTrailingMinusNumbers = True
  .Refresh BackgroundQuery:=False
  End With
  Columns("A:A").ColumnWidth = 5.71
End Sub

Voila et merci.
 
Bonjour.
Essayez ce début :
VB:
Sub mef()
   Dim ChNomF
   ChDrive "C": ChDir "c:\user\U538819\test"
   ChNomF = Application.GetOpenFilename("Texte,*.txt")
   If VarType(ChNomF) <> vbString Then Exit Sub
   With ActiveSheet.QueryTables.Add(Connection:= _
      "TEXT;" & ChNomF, Destination:=Range("$A$1"))
 
Toujours la même erreur :

argument.PNG

🙁
 
Je suppose que votre Sub mef est écrite dans un module objet et non dans un module standard ?
Si c'est le cas, dans VBA, menu Outils, Options…, onglet Général, rubrique Récupération d'erreur, cochez Arrêt dans le module de classe et réessayez.
Sinon mettez un point d'arrêt au début et déroulez en pas à pas jusqu'à tomber sur l'instruction qui plante.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour