Translate

mercredi 1 mars 2023

Comment retirer les time code d'un dialogue de film d'un document dans Word et le transformer (script VBA de ChatGPT)

Comment faire un prompt avec ChatGPT afin de retirer des times codes pour ne conserver que le texte :

Il est possible de retirer les time code d'un dialogue de film dans un document Word en utilisant un script VBA (Visual Basic for Applications). En fait il va coder pour moi.


LA 1er QUESTION À CHATGPT :

Comment retirer les time code d'un dialogue de film d'un document dans Word avec un script, pouvez-vous me proposer ce script Les time code sont des chiffres qui se présentent comme ceci : 24:08 comment indiquer cette particularité et que mettre entre "[" et "]" que lui indiquer au script VBA ?

SA RÉPONSE :

Il est possible de retirer les time code d'un dialogue de film dans un document Word en utilisant un script VBA (Visual Basic for Applications). Voici un exemple de script qui peut vous aider à retirer les time code:

Pour indiquer au script VBA que les time code se présentent sous la forme de chiffres séparés par un deux-points (par exemple 24:08), vous pouvez utiliser une expression régulière pour détecter les séquences de chiffres suivies d'un deux-points.

Voici un exemple de script VBA qui utilise une expression régulière pour supprimer les time code sous forme de chiffres séparés par un deux-points dans votre document Word :

vbnetCode de copie


Sub RemoveTimeCode()

Dim para As Paragraphe

    Dim regex As Object

Dim correspond à As Object

    Dim match As Object

Set regex = CreateObject(« VBScript.RegExp »)

regex. Global = Vrai

regex. Pattern = "\d{1,2}:\d{2}" 'expression régulière pour les time code au format hh:mm

Pour chaque paragraphe dans ActiveDocument.Paragraphes

Définir des correspondances = regex. Exécuter (par. Range.Text)

Pour chaque match Dans les matchs

vers. Range.Text = Remplacer(à. Range.Text, correspondance. Valeur, «  »)

Prochain

Paragraphe suivant


End SubDans cet exemple, l'expression régulière utilisée est "\d{1,2}:\d{2}". Cette expression régulière détecte les séquences de chiffres qui se présentent sous la forme de deux chiffres (ou un chiffre unique) suivis d'un deux-points, comme "24:08". Si vous utilisez d'autres formats de time code, vous pouvez adapter l'expression régulière en conséquence.

Notez que ce script supprime uniquement les time code détectés par l'expression régulière, et ne supprime pas les balises "[" et "]" mentionnées précédemment. Si vous avez des balises spécifiques qui entourent vos time code, vous pouvez les ajouter à l'expression régulière pour les supprimer en même temps.

Dans l'exemple ci-dessus, le script supprime simplement le time code. Si vous voulez le remplacer par quelque chose d'autre, vous pouvez modifier la ligne suivante :

go
ActiveDocument.Range(Start:=.Found, End:=.Found + Len(.Found)).Text = ""

Remplacez simplement les guillemets vides par la chaîne que vous souhaitez utiliser pour remplacer le time code, en la plaçant entre les crochets "[" et "]" si vous le souhaitez.""

 

Source À CORRIGER

0:00
on va vous montrer très concrètement
0:01
comment j'ai pété 3 a réussi plus ou
0:03
moins à trouver une faille dans un
0:06
centre hospitalier Ronnie c'est grâce à
0:07
toi qu'on peut montrer tout ça puisque
0:09
donc tu es accurétique juste avant qu'on
0:11

parle du coup de ce hacking automatisé


------------------------------------------------------------------

Résultat  APRÈS PASSAGE DU SCRIPT :

Transcription c'est parfait

on va vous montrer très concrètement

comment j'ai pété 3 a réussi plus ou


Deuxième partie 

LA 2ème QUESTION À CHATGPT :

Comment rattacher des phrases qui sont séparées par des retours à la ligne sans exploiter toute la ligne, faire ceci avec un script VBA pour un document Word ?

SA RÉPONSE :

Voici un exemple de script VBA qui permet de rattacher des phrases qui sont séparées par des retours à la ligne dans un document Word :

vbnet




Copier le code
Sub RattacherPhrases()
    Dim doc As Document
Dim para As Paragraphe
Texte sombre sous forme de chaîne
    
Définir doc = ActiveDocument
    
Pour chaque paragraphe In doc. Paragraphes
text = pour. Range.Text
        
        'Remplacer les retours à la ligne par un espace
text = Replace(text, vbCr, " « )
text = Replace(text, vbLf, " « )
        
        'Remplacer les points suivis d'une majuscule par ". " pour séparer les phrases
text = Replace(text, « .[ A-Z] », « . « )
        
        'Appliquer les modifications au paragraphe
pour. Range.Text = texte
Paragraphe suivant
Fin de la sous-section

Ce script parcourt chaque paragraphe du document et modifie le texte pour rattacher les phrases qui sont séparées par des retours à la ligne. Il remplace d'abord tous les retours à la ligne par un espace. Ensuite, il remplace tous les points (.) suivis d'une lettre majuscule par un point suivi d'un espace (". "), afin de séparer les phrases correctement.

Notez que cette méthode suppose que chaque phrase commence par une majuscule, suivie d'un espace. Si le texte contient des exceptions à cette règle, le script peut ne pas fonctionner correctement. Il est donc important de vérifier manuellement le résultat de l'exécution du script pour s'assurer qu'il n'a pas modifié de manière inappropriée le texte original.

De plus, si le document contient des listes à puces ou numérotées, ce script peut les affecter en les transformant en paragraphes continus. Il est donc important de prendre en compte ces éléments et de les ajuster manuellement si nécessaire.

-----------------

Cela fonctionne parfaitement, merci ChatGPT.





--- 
 Pierre Erol GIRAUDY 
http://about.me/giraudyerol


Aucun commentaire: