Excel : extraire du texte entre guillemets
c_est_pas_gagné
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour à tous,
J'ai un (long) fichier dans lequel je dois extraire le texte entre guillemets, tel que :
company_created: "L'entreprise %{name} a bien été créée."
=> je veux extraire L'entreprise %{name} a bien été créée.
company_removed: "L'entreprise %{name} a bien été supprimée."
company_updated: "L'entreprise %{name} a bien été mise à jour."
company_is: "Entreprise : %{name}"
company_links: "Liens relatifs à l'entreprise"
company_type: "Type d'entreprise"
confirm: "Continuer ?"
...
Bien évidemment, dans chaque cellule, le texte à garder (et celui à supprimer) est différent et de longueur variable...
J'ai beau chercher, je n'arrive pas à trouver quelle macro je peux utiliser. Je trouve des exemples similaires, mais suffisamment différents pour que je ne puisse pas résoudre le problème des guillemets.
Est-ce que quelqu'un aurait une solution ?
Je remercie par avance tous ceux qui pourront m'aider...
bonne journée !
J'ai un (long) fichier dans lequel je dois extraire le texte entre guillemets, tel que :
company_created: "L'entreprise %{name} a bien été créée."
=> je veux extraire L'entreprise %{name} a bien été créée.
company_removed: "L'entreprise %{name} a bien été supprimée."
company_updated: "L'entreprise %{name} a bien été mise à jour."
company_is: "Entreprise : %{name}"
company_links: "Liens relatifs à l'entreprise"
company_type: "Type d'entreprise"
confirm: "Continuer ?"
...
Bien évidemment, dans chaque cellule, le texte à garder (et celui à supprimer) est différent et de longueur variable...
J'ai beau chercher, je n'arrive pas à trouver quelle macro je peux utiliser. Je trouve des exemples similaires, mais suffisamment différents pour que je ne puisse pas résoudre le problème des guillemets.
Est-ce que quelqu'un aurait une solution ?
Je remercie par avance tous ceux qui pourront m'aider...
bonne journée !
2 réponses
-
Bonjour,
là comme ça, à première vue, je te dirai de regarder du côté des expressions régulières ( les regex ).
-
Bonjour,
Avec la méthode Split. Faire une boucle sur la colonne concernée:
https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-I
le texte est en A1:
Sub extractionMots() Dim Tableau() As String Dim i As Integer Dim chaine As String chaine = Range("A1").Value 'découpe la chaine en fonction des " 'le résultat de la fonction Split est stocké dans un tableau Tableau = Split(chaine, """") 'double cote 'boucle sur le tableau pour visualiser le résultat For i = 0 To UBound(Tableau) 'Le résultat s'affiche dans la fenêtre d'execution de l'éditeur de macros Debug.Print Tableau(i) Next i MsgBox Tableau(1) 'remplacer le MsgBox par une cellule End Sub