VBA Excel - ouvrir et afficher un fichier .txt existant
Résolu
TonyLucky2025
Messages postés
3
Statut
Membre
-
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:
- If and vba
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Find and mount - Télécharger - Récupération de données
- Norton remove and reinstall. - Télécharger - Nettoyage
- Disk boot failure insert system disk and press enter - Guide
- Tag and rename - Télécharger - Catalogage
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.