Bonjour,
j'ai établi une routine VBA sur Word pour:
1. Lire chaque ligne du fichier word contenant un "#"
2. Pour chaque ligne contenant le hashtag, il faut créer un fichier txt dans un dossier précis.
Exemple:
si dans mon word qui est ouvert j'ai
#2023-05-17-ecrire sur le forum
#2023-05-18-faire compta
il faut que ça me crée 2 fichier txt qui s'appelleront respectivement "2023-05-17-ecrire sur le forum" et "2023-05-18-faire compta"
J'ai fait la routine mais il y a une erreur quand je la lance (je l'exécute directement dans le Word ouvert avec les lignes dedans).
Error 52: nom ou numéro de fichier incorrect.
Je ne comprends pas ce qui coince.
merci pour vos retours
Voici le code:
Sub TraiterLignes()
Dim doc As Document
Dim paragraphe As Paragraph
Dim NBLIG As Integer
Dim INDEXLIGNE As String
Dim dossier As String
Dim cheminFichier As String
Dim fichier As Object
' Spécifiez le chemin du dossier où vous souhaitez enregistrer les fichiers texte
dossier = "C:\ACTIVITE\8_INDEX"
' Ouvrir le document Word
Set doc = ActiveDocument
' Compter le nombre total de lignes commençant par "#"
NBLIG = 0
For Each paragraphe In doc.Paragraphs
If Left(paragraphe.Range.Text, 1) = "#" Then
NBLIG = NBLIG + 1
End If
Next paragraphe
' Lire chaque ligne commençant par "#"
For Each paragraphe In doc.Paragraphs
If Left(paragraphe.Range.Text, 1) = "#" Then
' Récupérer le contenu de la ligne
INDEXLIGNE = Trim(paragraphe.Range.Text)
INDEXLIGNE = Replace(INDEXLIGNE, "#", "") ' Supprimer le caractère "#"
' Créer le fichier texte avec le titre correspondant à INDEXLIGNE
cheminFichier = dossier & "\" & INDEXLIGNE & ".txt"
Set fichier = CreateObject("Scripting.FileSystemObject").CreateTextFile(cheminFichier, True)
fichier.Close
End If
Next paragraphe
End Sub
Partager