llance
Messages postés1Date d'inscriptiondimanche 12 juin 2011StatutMembreDernière intervention 6 juillet 2011 6 juil. 2011 à 11:00
Bonjour à tous,
Je dois importer un fichier texte dans une feuille excel. J'ai utilisé le code que vous proposez. Tout ce passe bien jusqu'à ce que excel lance une fenêtre de dialogue en indiquant que mon fichier.txt est actuellement modifié par un autre utilisateur. Voulez-vous l'ouvrir en lecture seule. Ensuite VBA m'indique une erreur à la ligne : waExcel.Workbooks.OpenText StrPath & StrFich, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1) _
, TrailingMinusNumbers:=True
Je suis sous Excel 2003 je ne sais pas si ca peut changer quelque chose. Je vous remercie de votre aide :)
cs_chalabili
Messages postés1Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention 1 juin 2009 1 juin 2009 à 22:29
salut tout le monde
alors je voudrais que vous l aidiez car ce code fonctionne a merveil sur une machine et sur d'autres non il me donne l'erreur suivante :
Une exception non gérée du type 'System.Runtime.InteropServices.COMException' s'est produite dans Microsoft.VisualBasic.dll
Informations supplémentaires : Membre introuvable. (Exception de HRESULT : 0x80020003 (DISP_E_MEMBERNOTFOUND))
en pointant sur :
waExcel.Workbooks(OpenFileDialog1.SafeFileName)
vbuser22
Messages postés1Date d'inscriptionjeudi 10 juillet 2008StatutMembreDernière intervention10 juillet 2008 10 juil. 2008 à 13:14
Bonjour à tous,
J'ai un fichier de largeur fixe à consulter via Excel, à modifier puis à enregistrer au format TXT.
Mon problème est dû au fait que ce fichier comporte des espaces consécutifs (un espace dans une zone de texte n'est lui pas supprimé) pour certaines valeurs vides.
J'ai utilisé une macro Excel qui m'a permis d'ouvrir correctement mon fichier texte (une colonne de largeur fixe par colonne Excel), à ceci près que les espaces consécutifs correspondant à des valeurs vides n'ont pas été récupérés (valeur de la colonne = '' au lieu de ' ').
Voici la macro utilisée dans Excel :
==========================================================
Sub Decoupe_FixedWidth()
Const xlFixedWidth = 2
Const xlTextFormat = 2
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
End Sub
==========================================================
Connaissez-vous la façon de conserver ces espaces ?
Merci d'avance,
ketchups
Messages postés24Date d'inscriptionmercredi 5 septembre 2007StatutMembreDernière intervention21 décembre 2007 28 sept. 2007 à 10:45
Hello j'essaye aussi d'importer un fichier texte sauf que mon séparateur est | (alt gr +7) et je sais pas du tout comment faire pour que le code soit compatible.
(c'est des serveurs qui me créer mon fichier texte ... changé de séparateur serait ... assez compliqué)
mariuskeith
Messages postés7Date d'inscriptiondimanche 18 juillet 2004StatutMembreDernière intervention28 mai 2007 4 juin 2007 à 14:09
Salut RENAUD,au faitr je veux exporter un fichier text en excel,mais je suis un vrai débutant,j'aimerais savoir si je vais utiliser un bouton de commande ou comment.
Envoie si possiblie un exemple de programme avec interface si possible.
merci,voici mon mai:keith2fr@yahoo.fr
reneauld
Messages postés8Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention23 octobre 2006 23 oct. 2006 à 19:30
Pas facile
en effet comme ton pseudo l'indique, c'est pas facile...
J'aimerais avoir des précisions sur ton dit fichier wordpad.
C'est un fichier .rtf?
Ou bien c'est un fichier texte normal. Si c'est le cas, alors pas de problème à utiliser le code en exemple.
Si c'est un wordpad (.rtf), bonne chance
WordPad n'est pas conçu pour créer des fichiers de données.
C'est un outil (je suis gêné d'appeller ça un outil) destiné au formatage d'un texte.
reneauld
Messages postés8Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention23 octobre 2006 23 oct. 2006 à 19:18
Création d'un tableau à 3 colonnes
Array(Array(0, 1), Array(10, 1), Array(15, 1))
1ere colonne
Array(0, 1), = commence au caractere 0 et 1 pour type de caractere general
2e colonne
Array(10, 1), = commence au caractere 10 et 1 pour type de caractere general
3e colonne
Array(15, 1), = commence au caractere 15 et 1 pour type de caractere general
Type de carectere
xlGeneralFormat Général : 1
xlTextFormat Texte : 2
xlMDYFormat Format de date Mois-Jour-Année : 3
xlDMYFormat Format de date Jour-Mois-Année : 4
xlYMDFormat Format de date Année-Mois-Jour : 5
xlMYDFormat Format de date Mois-Année-Jour : 6
xlDYMFormat Format de date Jour-Année-Mois : 7
xlYDMFormat Format de date Année-Jour-Mois : 8
xlEMDFormat Date EMD : 9
xlSkipColumn Non distribuée : 10
cs_pas facile
Messages postés1Date d'inscriptionjeudi 30 mars 2006StatutMembreDernière intervention17 octobre 2006 17 oct. 2006 à 21:37
Penses tu qu'une solution pour Wordpad existe ...!!
Je cherche a importer un fichier de Wordpad afin d'alimenter une feuille excel avec deux delimiteurs ...
SOS est-ce possible ???!!!
Je perds espoir!!!
SteelModel
Messages postés1Date d'inscriptionmardi 3 octobre 2006StatutMembreDernière intervention 3 octobre 2006 3 oct. 2006 à 10:21
Je cherche a lire un fichier NASTRAN (.nas) ou les donnees sont groupees par blocs de 8, sans separateur. Un exemple:
Le but -- a court terme -- est de pouvoir avoir ces donnees dans de braves colonnes Excel.
Je suis tres perplexe et j apprecierais grandement un aide eclairee. Merci d avance
cs_gedeon44
Messages postés6Date d'inscriptionvendredi 27 janvier 2006StatutMembreDernière intervention 7 juillet 2006 3 mai 2006 à 18:02
Ok, merci beaucoup pour ces explications détaillées.
Bonne soirée.
reneauld
Messages postés8Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention23 octobre 2006 3 mai 2006 à 14:39
Il suffit de mettre à true le paramètre correspondant à votre séparateur Tab (tabulation), Semicolon (Points-vigule), Comma(virgule), Space (espace) ou si le sépareteur est différent
mettre true dans Other et otherChar (mettre le caractère de séparation)
reneauld
Messages postés8Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention23 octobre 2006 3 mai 2006 à 14:24
Bonjour, pour importer les fichiers avec des points-virgules
expression Obligatoire. Expression qui renvoie un objet Workbooks.
Filename Argument de type String obligatoire. Spécifie le nom du fichier texte à ouvrir et redistribuer.
Origin Argument de type Variant facultatif. Spécifie l'origine du fichier texte. Il peut s'agir de l'une des constantes XlPlatform suivantes : xlMacintosh, xlWindows ou xlMSDOS. Si vous ne spécifiez pas cet argument, la méthode utilise le paramètre en cours de l'option Origine du fichier de l'Assistant Importation de texte.
StartRow Argument de type Variant facultatif. Numéro de la ligne à partir de laquelle commencer la redistribution du texte. La valeur par défaut est 1.
DataType Argument de type Variant facultatif. Spécifie le format de colonne des données contenues dans le fichier. Il peut s'agir de l'une des constantes XlTextParsingType suivantes : xlDelimited ou xlFixedWidth. La valeur par défaut est xlDelimited.
TextQualifier Argument de type Variant facultatif. Spécifie le qualificateur de texte. Il peut s'agir de l'une des constantes XlTextQualifier suivantes : xlTextQualifierDoubleQuote, xlTextQualifierSingleQuote ou xlTextQualifierNone. La valeur par défaut est xlTextQualifierDoubleQuote.
ConsecutiveDelimiter Argument de type Variant facultatif. Affectez-lui la valeur True pour que des séparateurs consécutifs soient considérés comme un seul séparateur. La valeur par défaut est False.
Tab Argument de type Variant facultatif. Affectez-lui la valeur True pour que le caractère de tabulation soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Semicolon Argument de type Variant facultatif. Affectez-lui la valeur True pour que le point-virgule (;) soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Comma Argument de type Variant facultatif. Affectez-lui la valeur True pour que la virgule soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Space Argument de type Variant facultatif. Affectez-lui la valeur True pour que l'espace soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Other Argument de type Variant facultatif. Affectez-lui la valeur True pour que le caractère spécifié par l'argument OtherChar soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
OtherChar Argument de type Variant facultatif (obligatoire si l'argument Other a la valeur True). Spécifie le caractère séparateur lorsque l'argument Other a la valeur True. Si vous spécifiez plusieurs caractères, seul le premier de la chaîne est utilisé et les autres sont ignorés.
FieldInfo Argument de type Variant facultatif. Tableau contenant des informations de redistribution pour les différentes colonnes de données. L'interprétation dépend de la valeur de l'argument DataType.
Quand les données sont délimitées, cet argument est un tableau composé de tableaux à deux éléments qui spécifient chacun les options de conversion pour une colonne donnée. Le premier élément correspond au numéro de colonne (commençant à 1), et le second élément est l'une des constantes xlColumnDataType répertoriées dans le tableau suivant, qui spécifient la manière dont la colonne est redistribuée.
phloutz
Messages postés8Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 2 février 2009 3 mai 2006 à 09:52
Salut, désolé je n'ai pas encore retravaillé là-dessus...
Je me suis pour l'instant contenté d'un petit manual-processing ;-)
++
cs_gedeon44
Messages postés6Date d'inscriptionvendredi 27 janvier 2006StatutMembreDernière intervention 7 juillet 2006 3 mai 2006 à 09:18
Salut,
Si tu as trouvé la méthode pour l'adapter à des données séparées par un ";", cela m'intéresse.
Tu pourrais me faire part de ta méthode, STP ?
Merci d'avance.
phloutz
Messages postés8Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 2 février 2009 27 oct. 2005 à 15:33
C'est presque ce que je cherchais, mais en bon débutant, il va falloir que je continue à potasser un peu pour l'adapter à des données séparées par un ";" et à longueur variable ;-)
6 juil. 2011 à 11:00
Je dois importer un fichier texte dans une feuille excel. J'ai utilisé le code que vous proposez. Tout ce passe bien jusqu'à ce que excel lance une fenêtre de dialogue en indiquant que mon fichier.txt est actuellement modifié par un autre utilisateur. Voulez-vous l'ouvrir en lecture seule. Ensuite VBA m'indique une erreur à la ligne : waExcel.Workbooks.OpenText StrPath & StrFich, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1) _
, TrailingMinusNumbers:=True
Je suis sous Excel 2003 je ne sais pas si ca peut changer quelque chose. Je vous remercie de votre aide :)
1 juin 2009 à 22:29
alors je voudrais que vous l aidiez car ce code fonctionne a merveil sur une machine et sur d'autres non il me donne l'erreur suivante :
Une exception non gérée du type 'System.Runtime.InteropServices.COMException' s'est produite dans Microsoft.VisualBasic.dll
Informations supplémentaires : Membre introuvable. (Exception de HRESULT : 0x80020003 (DISP_E_MEMBERNOTFOUND))
en pointant sur :
waExcel.Workbooks(OpenFileDialog1.SafeFileName)
10 juil. 2008 à 13:14
J'ai un fichier de largeur fixe à consulter via Excel, à modifier puis à enregistrer au format TXT.
Mon problème est dû au fait que ce fichier comporte des espaces consécutifs (un espace dans une zone de texte n'est lui pas supprimé) pour certaines valeurs vides.
J'ai utilisé une macro Excel qui m'a permis d'ouvrir correctement mon fichier texte (une colonne de largeur fixe par colonne Excel), à ceci près que les espaces consécutifs correspondant à des valeurs vides n'ont pas été récupérés (valeur de la colonne = '' au lieu de ' ').
Voici la macro utilisée dans Excel :
==========================================================
Sub Decoupe_FixedWidth()
Const xlFixedWidth = 2
Const xlTextFormat = 2
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.OpenText "C:\Test.txt", , 3, xlFixedWidth, , , , , , , , xlTextFormat, _
Array( Array(0, xlTextFormat), Array(2, xlTextFormat), Array(10, 1), Array(20, xlTextFormat), _
Array(40, xlTextFormat) )
End Sub
==========================================================
Connaissez-vous la façon de conserver ces espaces ?
Merci d'avance,
28 sept. 2007 à 10:45
(c'est des serveurs qui me créer mon fichier texte ... changé de séparateur serait ... assez compliqué)
4 juin 2007 à 14:09
Envoie si possiblie un exemple de programme avec interface si possible.
merci,voici mon mai:keith2fr@yahoo.fr
23 oct. 2006 à 19:30
en effet comme ton pseudo l'indique, c'est pas facile...
J'aimerais avoir des précisions sur ton dit fichier wordpad.
C'est un fichier .rtf?
Ou bien c'est un fichier texte normal. Si c'est le cas, alors pas de problème à utiliser le code en exemple.
Si c'est un wordpad (.rtf), bonne chance
WordPad n'est pas conçu pour créer des fichiers de données.
C'est un outil (je suis gêné d'appeller ça un outil) destiné au formatage d'un texte.
23 oct. 2006 à 19:18
Tableau = Array(Array(0, 1), Array(10, 1), Array(15, 1))
waExcel.Workbooks.OpenText strpath & StrFich, , , 2, , , , , , , , , Tableau
Création d'un tableau à 3 colonnes
Array(Array(0, 1), Array(10, 1), Array(15, 1))
1ere colonne
Array(0, 1), = commence au caractere 0 et 1 pour type de caractere general
2e colonne
Array(10, 1), = commence au caractere 10 et 1 pour type de caractere general
3e colonne
Array(15, 1), = commence au caractere 15 et 1 pour type de caractere general
Type de carectere
xlGeneralFormat Général : 1
xlTextFormat Texte : 2
xlMDYFormat Format de date Mois-Jour-Année : 3
xlDMYFormat Format de date Jour-Mois-Année : 4
xlYMDFormat Format de date Année-Mois-Jour : 5
xlMYDFormat Format de date Mois-Année-Jour : 6
xlDYMFormat Format de date Jour-Année-Mois : 7
xlYDMFormat Format de date Année-Jour-Mois : 8
xlEMDFormat Date EMD : 9
xlSkipColumn Non distribuée : 10
17 oct. 2006 à 21:37
Je cherche a importer un fichier de Wordpad afin d'alimenter une feuille excel avec deux delimiteurs ...
SOS est-ce possible ???!!!
Je perds espoir!!!
3 oct. 2006 à 10:21
GRID 9 175.0 -155.0 0.0
GRID 10 175.0 -155.0 3.955124
GRID 11 175.0 -155.0 7.910248
GRID 12 175.0 -155.0 11.86537
GRID 13 175.0 -155.0 15.8205
GRID 14 175.0 -155.0 19.77562
GRID 15 174.5596-159.17419.77695
GRID 16 173.2577-163.16419.77557
GRID 17 171.1517-166.79519.77571
GRID 18 168.3344-169.90619.77588
Le but -- a court terme -- est de pouvoir avoir ces donnees dans de braves colonnes Excel.
Je suis tres perplexe et j apprecierais grandement un aide eclairee. Merci d avance
3 mai 2006 à 18:02
Bonne soirée.
3 mai 2006 à 14:39
mettre true dans Other et otherChar (mettre le caractère de séparation)
3 mai 2006 à 14:24
waExcel.Workbooks.OpenText StrPath & StrFich, , , 2, , , ,True , , True
Dans l'aide de VBA, lorsqu'on cherche OPENTEXT
Syntaxe
expression.OpenText(Filename, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator)
expression Obligatoire. Expression qui renvoie un objet Workbooks.
Filename Argument de type String obligatoire. Spécifie le nom du fichier texte à ouvrir et redistribuer.
Origin Argument de type Variant facultatif. Spécifie l'origine du fichier texte. Il peut s'agir de l'une des constantes XlPlatform suivantes : xlMacintosh, xlWindows ou xlMSDOS. Si vous ne spécifiez pas cet argument, la méthode utilise le paramètre en cours de l'option Origine du fichier de l'Assistant Importation de texte.
StartRow Argument de type Variant facultatif. Numéro de la ligne à partir de laquelle commencer la redistribution du texte. La valeur par défaut est 1.
DataType Argument de type Variant facultatif. Spécifie le format de colonne des données contenues dans le fichier. Il peut s'agir de l'une des constantes XlTextParsingType suivantes : xlDelimited ou xlFixedWidth. La valeur par défaut est xlDelimited.
TextQualifier Argument de type Variant facultatif. Spécifie le qualificateur de texte. Il peut s'agir de l'une des constantes XlTextQualifier suivantes : xlTextQualifierDoubleQuote, xlTextQualifierSingleQuote ou xlTextQualifierNone. La valeur par défaut est xlTextQualifierDoubleQuote.
ConsecutiveDelimiter Argument de type Variant facultatif. Affectez-lui la valeur True pour que des séparateurs consécutifs soient considérés comme un seul séparateur. La valeur par défaut est False.
Tab Argument de type Variant facultatif. Affectez-lui la valeur True pour que le caractère de tabulation soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Semicolon Argument de type Variant facultatif. Affectez-lui la valeur True pour que le point-virgule (;) soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Comma Argument de type Variant facultatif. Affectez-lui la valeur True pour que la virgule soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Space Argument de type Variant facultatif. Affectez-lui la valeur True pour que l'espace soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
Other Argument de type Variant facultatif. Affectez-lui la valeur True pour que le caractère spécifié par l'argument OtherChar soit le séparateur (l'argument DataType doit avoir la valeur xlDelimited). La valeur par défaut est False.
OtherChar Argument de type Variant facultatif (obligatoire si l'argument Other a la valeur True). Spécifie le caractère séparateur lorsque l'argument Other a la valeur True. Si vous spécifiez plusieurs caractères, seul le premier de la chaîne est utilisé et les autres sont ignorés.
FieldInfo Argument de type Variant facultatif. Tableau contenant des informations de redistribution pour les différentes colonnes de données. L'interprétation dépend de la valeur de l'argument DataType.
Quand les données sont délimitées, cet argument est un tableau composé de tableaux à deux éléments qui spécifient chacun les options de conversion pour une colonne donnée. Le premier élément correspond au numéro de colonne (commençant à 1), et le second élément est l'une des constantes xlColumnDataType répertoriées dans le tableau suivant, qui spécifient la manière dont la colonne est redistribuée.
3 mai 2006 à 09:52
Je me suis pour l'instant contenté d'un petit manual-processing ;-)
++
3 mai 2006 à 09:18
Si tu as trouvé la méthode pour l'adapter à des données séparées par un ";", cela m'intéresse.
Tu pourrais me faire part de ta méthode, STP ?
Merci d'avance.
27 oct. 2005 à 15:33