VBA Excel - ouvrir et afficher un fichier .txt existant
Résolu
TonyLucky2025
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
TonyLucky2025 -
TonyLucky2025 -
Bonjour à tous,
Je tourne en rond depuis hier et bute sur un problème apparemment simple.
J'arrive à créer un fichier texte et à l'afficher en premier plan, à partir d'un USF.
Par contre, quand je rouvre ce fichier par macro pour le modifier, il s'ouvre bien mais ne s'affiche pas à l'écran. Il faut que je clique dans la barre des tâches pour l'afficher.
J'ai testé plein de solutions en fouinant sur le net, mais je n'ai pas réussi.
Si quelqu'un pouvait m'aider,
Merci par avance,
Voici mon code
'chemin du dossier MonChemin = ActiveWorkbook.Path & "\TOTO\" & UCase(Me.TBX_3.Value) & ")\" MonChemin2 = MonChemin & "NOTES - " & UCase(Me.TBX_3.Value) & ".txt" If Len(Dir(MonChemin2)) = 0 Then 'crée le fichier s'il n'existe pas Open MonChemin2 For Output As #1 'écrit une 'en-tête' Print #1, Me.TBX_2.Value & " " & UCase(Me.TBX_3.Value) Print #1, "================================" Close Set ts = CreateObject("Shell.Application") ts.Open (MonChemin2) Else 'ouvre le fichier, mais ne l'affiche pas à l'écran Shell "notepad.exe " & MonChemin2 End If
Windows / Firefox 142.0
A voir également:
- VBA Excel - ouvrir et afficher un fichier .txt existant
- Comment ouvrir un fichier epub ? - Guide
- Comment ouvrir un fichier bin ? - Guide
- Ouvrir un fichier .dat - Guide
- Comment ouvrir un fichier docx ? - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
Bonjour
Dim MonChemin As String
Dim MonChemin2 As String
Dim notepad As Object
'chemin du dossier
MonChemin = ActiveWorkbook.Path & "\TOTO\" & UCase(Me.TBX_3.Value) & "\"
MonChemin2 = MonChemin & "NOTES - " & UCase(Me.TBX_3.Value) & ".txt"
If Len(Dir(MonChemin2)) = 0 Then 'crée le fichier s'il n'existe pas
Open MonChemin2 For Output As #1
'écrit une 'en-tête'
Print #1, Me.TBX_2.Value & " " & UCase(Me.TBX_3.Value)
Print #1, "================================"
Close #1
Set ts = CreateObject("Shell.Application")
ts.Open (MonChemin2)
Else
' Ouvre le fichier avec Notepad et le rend actif
Set notepad = CreateObject("WScript.Shell")
notepad.Run "notepad.exe " & MonChemin2, 1, True
End If
A tester
Super. Merci beaucoup. Je n'étais pas loin de la solution. Je n'avais juste pas trouvé "WScript.Shell" !
Je vais pouvoir avancer sur un autre sujet, maintenant...
Voici le code corrigé :
'chemin du dossier MonChemin = ActiveWorkbook.Path & "\" MonChemin2 = MonChemin & "NOTES - toto.txt" If Len(Dir(MonChemin2)) = 0 Then 'crée le fichier s'il n'existe pas Open MonChemin2 For Output As #1 'écrit une 'en-tête' Print #1, "toto" Print #1, "================================" Close #1 Set ts = CreateObject("Shell.Application") ts.Open (MonChemin2) Else ' Ouvre le fichier avec Notepad et le rend actif Set notepad = CreateObject("WScript.Shell") notepad.Run "notepad.exe " & MonChemin2, 1, True End If
Bon après-midi.