Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

Réponse
 
Outils de la discussion
Vieux 10/10/2008, 10h20   #1 (permalink)
Invité régulier
 
Date d'inscription: décembre 2006
Messages: 15
Par défaut Insertion fichier tabulé

Bonjour, pour continuer dans mes problèmes, j'ai besoin grace à une macro de demander de choisir un fichier, et de l'intégrer dans la feuille, ce fichier étant un fichier texte tabulé.

Donc pour demander de choisir un fichier :
Code :
 
ficvar = Application.GetOpenFilename(".txt,*.txt", , "Choisissez la variante")
 
Et j'ai fais une macro auto, pour insere ce même fichier et j'ai obtenu ça :
Code :
 
  Workbooks.OpenText Filename:= _
        "C:\temp\fic.txt", Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, 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))
 
Mais comment combiner les deux.

Merci
hlander est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/10/2008, 10h55   #2 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
Par défaut

Bonjour,

Code :
Sub test()
Dim ficvar As Variant
 
ficvar = Application.GetOpenFilename(".txt,*.txt", , "Choisissez la variante")
 
'si l'utilisateur clique sur annuler
If ficvar = False Then Exit Sub
 
Workbooks.OpenText Filename:=ficvar, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, 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))
 
End Sub
Cdlt
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/10/2008, 11h42   #3 (permalink)
Invité régulier
 
Date d'inscription: décembre 2006
Messages: 15
Par défaut

En utilisant le code ci-dessus :

Le fichier choisi test.txt s'ouvre dans un nouveau fichier excel, et non dans la feuille a partir de laquelle je lance la macro.
hlander est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/10/2008, 14h14   #4 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
Par défaut

Citation:
Envoyé par hlander Voir le message
En utilisant le code ci-dessus :

Le fichier choisi test.txt s'ouvre dans un nouveau fichier excel, et non dans la feuille a partir de laquelle je lance la macro.
C'est exactement ton code...!
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/10/2008, 14h34   #5 (permalink)
Invité régulier
 
Date d'inscription: décembre 2006
Messages: 15
Par défaut

oui c'est le code que j'ai réussi a générer avec une macro automatique, mais ce que je recherche c'est comment inserer a une feuille existante le contenu d'un fichier tabulé.
hlander est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/10/2008, 16h51   #6 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
Par défaut

Ok mais ta question était
Citation:
Mais comment combiner les deux.
Soit...
Essaie ceci
Code :
Sub test()
Dim ficvar As Variant, Wsh As Worksheet
 
Set Wsh = Sheets("Feuil1") '<-- feuille de destination
ficvar = Application.GetOpenFilename(".txt,*.txt", , "Choisissez la variante")
 
'si l'utilisateur clique sur annuler
If ficvar = False Then Exit Sub
 
With Wsh.QueryTables.Add(Connection:="TEXT;" & ficvar, Destination:=Wsh.Range("A1"))
        .AdjustColumnWidth = True
        .TextFileParseType = xlDelimited
        .Refresh BackgroundQuery:=False
End With
End Sub
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/10/2008, 17h21   #7 (permalink)
Invité régulier
 
Date d'inscription: décembre 2006
Messages: 15
Par défaut

Merci beaucoup c'est exactement ça.....
hlander est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAACCESS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide