ouvrir un fichier txt avec une macro

  • Initiateur de la discussion aviorpat
  • Date de début
A

aviorpat

Guest
Bonjour à tous
Je débute (les complications) sous Excel

J'aimerais en cliquant sur un bouton :
- lancer une macro qui ouvrirait une boite donnant l'accés à l'arborescence de windows.
- choisir et sélectionner un fichier .txt
- l'ouvrir en le formatant de manière spéciale (ça j'y arrive ....)

On verra après pour la suite
d'avance merci à tous
 
@

@Christophe@

Guest
Bonjour,

Voici le code à mettre dans ton commandbutton:

Private Sub CommandButton1_Click()
opendial = Application.GetOpenFilename(FileFilter:="texte (*.txt), .txt", FilterIndex:=1, Title:="Sélectionner le fichier texte à ouvrir...", MultiSelect:=False)
Shell "notepad.exe " & opendial, vbMaximizedFocus
End Sub


Bonne journée

@Christophe@
 
A

aviorpat

Guest
Merci bcp @Christophe@ c'est génial !!!
le seul hic c'est que je voudrais l'ouvrir avec excel (en le formatant, séparateur etc...)
J'arrive a faire ouvrir excel, mais il ouvre une feuille vide, il ne traite pas le fichier selectionné auparavant.
comment faire ?

A+
Pat
 
A

Abel

Guest
Bonjour aiorpat, @Christophe@,

Workbooks.Open Filename:=opendial

à la place de : Shell "notepad.exe " & opendial, vbMaximizedFocus

Cela ouvrira le fichier dans Excel au lieu du Bloc-note.

Abel
 
A

aviorpat

Guest
Ca marche !!!
mais Excel l'ouvre direct et ne me propose pas de choisir les séparateurs textes etc....
la macro que j'avais crée le faisait bien mais je n'arrive pas à insérer correctement son code dans mon commandbutton après "Workbooks.Open Filename:=opendial"

ma macro :
Workbooks.OpenText Filename:= _
"D:\Affaires\Gestion demi-coussinets\D2_COUS_JUIL04.txt" _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:= _
False, Comma:=False, Space:=False, Other:=True, OtherChar:="|", _
FieldInfo:=Array(Array(1, 1), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array _
(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), _
Array(13, 2), Array(14, 2), Array(15, 2), Array(16, 2), Array(17, 2), Array(18, 2), Array( _
19, 2), Array(20, 2), Array(21, 2), Array(22, 2), Array(23, 2), Array(24, 2), Array(25, 2), _
Array(26, 2), Array(27, 2), Array(28, 2), Array(29, 2), Array(30, 2), Array(31, 2), Array( _
32, 2), Array(33, 2), Array(34, 2), Array(35, 2), Array(36, 2), Array(37, 2), Array(38, 2), _
Array(39, 2), Array(40, 2), Array(41, 2), Array(42, 2), Array(43, 2), Array(44, 2), Array( _
45, 2), Array(46, 2), Array(47, 2), Array(48, 2), Array(49, 2), Array(50, 2), Array(51, 2), _
Array(52, 2), Array(53, 2), Array(54, 2), Array(55, 2), Array(56, 2), Array(57, 2), Array( _
58, 2), Array(59, 2), Array(60, 2), Array(61, 2), Array(62, 2), Array(63, 2), Array(64, 2), _
Array(65, 2), Array(66, 2), Array(67, 2), Array(68, 2), Array(69, 2), Array(70, 2)), _
TrailingMinusNumbers:=True
Windows("extractionarchivagedemicoussinet.xls").Activate

End Sub
 
A

Abel

Guest
Re,

En le faisant de la sorte, je ne sais pas si tu as le choix.

Il faudrait que la macro demande avant l'ouverture quel le type de séparateur, etc pour le stocker dans des variables qui seront réutilisées avec Opentext.

Mais pour cela, il faut connaître à l'avance les types de séparateurs et autres éléments variables utilisés dans le fichier texte.

A+

Abel
 
A

aviorpat

Guest
n'est il pas possible que dans le commandbutton après avoir choisi le fichier et démarré excel, quon puisse appeler une macro (j'ai réussi à faire une macro qui ouvre le fichier sous le bon format).
mais je sais pas l'appeler et quelle traite le fichier selectionné.
 
A

Abel

Guest
Re,

La macro que tu as mise plus traite le fichier mais, c'est vrai, ne demandera pas ton avis pour les séparateurs et autres éléments demandés lors de l'ouverture manuelle d'un fichier texte.
Ces éléments sont déjà présents dans l'instruction :
StartRow:=1, DataType:=xlDelimited, TextQualifier , etc.

Si j'ai bien compris ton soucis, tu voudrais avoir accès à ces éléments à travers une macro.

Abel
 
A

aviorpat

Guest
Disons pour simplifier que je voudrais que le fichier .txt sélectionné, s'ouvre sous Excel dans un formatage que j'aurai défini auparavant. peu importe si je dois passer par une macro ou non.

J'arrive d'un coté à ouvrir un fichier .txt sélectionné dans une arborescence et de l'autre coté, j'arrive via une macro à ouvrir et formater un fichier .txt comme je le veux (mais le nom du fichier est défini dans la macro et je ne peux pas changer). Il faudrait arriver à concilier tout ça.

D'avance merci
 
A

Abel

Guest
Re,

Tu as tous les éléments depuis le début. Copie les bout à bout.

Remplace simplement le "D:\Affaires\Gestion demi-coussinets\D2_COUS_JUIL04.txt" par la variable qui récupère le "GetOpenFilename".

Abel
 
A

aviorpat

Guest
Merci Abel
Après avoir bien cherché, j'ai réussi à comprendre ce tu voulais dire...
c'est pas facile de débuter, mais maintenant ça marche !!!!
t'es génial !!!!!
retour vers le haut, j'ai encore plein de questions ....
mon fichier est loin d'être achevé .....

A+
Pat
 

Discussions similaires

Réponses
26
Affichages
1 K
Réponses
15
Affichages
882

Statistiques des forums

Discussions
312 337
Messages
2 087 390
Membres
103 534
dernier inscrit
Kalamymustapha