convertisseur txt Excel

  • Initiateur de la discussion Initiateur de la discussion Allegro
  • 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 !

Allegro

XLDnaute Nouveau
J'ai une macro Excel qui ouvre un fichier texte ; j'ai mis les paramètres pour tenir compte des séparateurs (des points-virgules). Ca marche.
Je balance ça sur une autre machine et là, ça ne marche pas.
En fait ce n'est pas la macro qui coince, c'est la conversion elle-même.
J'ai deux machines, même version du pack office (2003).
Avec Excel quand je cherche à ouvrir le même fichier texte, dans un cas ça marche, dans l'autre cas, il met tout sur une seule colonne ne comprenant pas que le ; est le séparateur (ce que j'ai bien sûr indiqué dans l'assistant).
Je suis preneur de toute idée pour résoudre ce mystère qui me plombe pas mal l'existence...
Merci pour votre aide
 
Re : convertisseur txt Excel

Merci pour ton aide
Voici le code :
Workbooks.OpenText Filename:="C:\Temp\Doc_Export.txt", _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array(33, 1), Array(34, 1), _
Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1), Array(47, 1), _
Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1), Array(59, 1), Array(60, 1), _
Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), Array(66, 1), Array(67, 1), Array(68, 1), Array(69, 1), Array(70, 1), Array(71, 1), Array(72, 1), Array(73, 1), _
Array(74, 1), Array(75, 1), Array(76, 1), Array(77, 1), Array(78, 1), Array(79, 1), Array(80, 1), Array(81, 1), Array(82, 1), Array(83, 1), Array(84, 1), Array(85, 1), Array(86, 1), _
Array(87, 1), Array(88, 1), Array(89, 1), Array(90, 1), Array(91, 1), Array(92, 1), Array(93, 1), Array(94, 1), Array(95, 1), Array(96, 1), Array(97, 1), Array(98, 1), Array(99, 1), _
Array(100, 1), Array(101, 1), Array(102, 1), Array(103, 1), Array(104, 1), Array(105, 1), Array(106, 1), Array(107, 1), Array(108, 1), Array(109, 1), Array(110, 1), Array(111, 1), _
Array(112, 1), Array(113, 1), Array(114, 1), Array(115, 1), Array(116, 1), Array(117, 1), Array(118, 1), Array(119, 1), Array(120, 1), Array(121, 1), Array(122, 1), Array(123, 1), _
Array(124, 1), Array(125, 1), Array(126, 1), Array(127, 1), Array(128, 1), Array(129, 1), Array(130, 1), Array(131, 1), Array(132, 1), Array(133, 1), Array(134, 1), Array(135, 1), Array(136, 1), Array(137, 1), Array(138, 1)), TrailingMinusNumbers:=True

Le problème ne vient pas de la macro sur la machine maudite puisque je ne parviens pas à ouvrir un fichier txt normalement (à la main)


Je ne peux rien tester ce soir puisque c'est au boulot que ça foire, mais je vais vérifier cette histoire de paramètres régionaux. Ce que je ne pige pas, si c'est ça, c'est la portée de cette option. Si je mets le ; comme séparateur, pourquoi, ne comprend-t-il pas ?
 
Re : convertisseur txt Excel

Bonsoir,

Je crois que le séparateur Semicolon utilise le séparateur défini dans Windows.
Pourquoi utiliser FieldInfo si tu utises un fichier délimité ?
Peux tu tester ceci :
Workbooks.OpenText Filename:="C:\Temp\Doc_Export.txt", DataType:=1, Semicolon:=True
ou
Workbooks.OpenText Filename:="C:\Temp\Doc_Export.txt", DataType:=1, Semicolon:=True, local:=False

Si à la main le fichier ne s'ouvre pas correctement, il y a de fortes chances que ça vienne du parametre Windows ...
 
Dernière édition:
Re : convertisseur txt Excel

Soir Bon, à adapter au contexte
Code:
Sub Tst()
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur  As String * 1
    
    Separateur = ";"
    Cells.Clear
    NumFichier = FreeFile
    iRow = 1

    Open "C:\Transfert\test_lecture.txt" For Input As #NumFichier
        Do While Not EOF(NumFichier)
            iCol = 1
            Line Input #NumFichier, Chaine
            Ar = Split(Chaine, Separateur)
            For i = LBound(Ar) To UBound(Ar)
                Cells(iRow, iCol) = Ar(i)
                iCol = iCol + 1
            Next
            iRow = iRow + 1
        Loop
    Close #NumFichier
End Sub
 
Re : convertisseur txt Excel

Merci pour votre aide.
Le séparateur de windows est bien le ;
mais même dans la version simplifiée, ça ne marche pas.
Le code proposé ne met pas les bonnes choses au bon endroit.

Le truc le plus curieux, c'est que ça a marché une fois sur cette satanée machine. Je me demande si je ne vais pas réinstaller Excel. Il doit y avoir une mauvaise configuration mais je ne vois vraiment pas quoi...
 
- 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