La macro Word d’Alexis, déjà ancienne mais terriblement efficace, est devenue de moins en moins compatible au fil des nouvelles versions de Word. J’ai adapté la macro pour la remettre au goût du jour.
Changements notables :
- Révision de l’interface (par boîtes de dialogue), pour rendre la macro plus compatible.
- Reconnaissance de l’italique dans les notes (en dépit d’un gros bug de Microsoft qu’il a fallu contourner)
- Reconnaissance des styles Citation (blockquote) et Poesie (poesie)
- Numérotation possible des paragraphes (choix par boîte de dialogue)
Pour le reste, la macro d’Alexis n’a quasiment pas été modifiée, et la documentationreste donc valable.



macroword_v3-2.zip
Vos commentaires
# Le 20 novembre 2011 à 19:34, par Chantal Schütz
En réponse à : Macro Word v.3 - Word2spip
Bonjour,
je me sers de la macro sans problème, mais en fait je cherche à générer un texte en bilingue, pour lequel j’utilise un tableau sous Word. C’est peut-être trop compliqué, mais je n’ai pas trouvé comment faire simplement sous SPIP. Le seul problème c’est que sous Chrome, les 2 textes sont bien en face, mais sous Firefox, le texte de gauche se décale complètement, et je ne comprends pas pourquoi. Quelqu’un aurait-il une idée pour m’aider ?
Voici l’adresse : http://ttt.univ-paris3.fr/spip.php?article4&lang=fr
Répondre à ce message
# Le 10 juillet 2011 à 13:08, par Paladin
En réponse à : Macro Word v.3 - Word2spip
Si le plugin Intertitres hiérarchisés et table des matières est installé, il peut être intéressant d’en utiliser la méthode pour les titres de niveau 2 et 3, respectivement traduits en h4, h5.
Bout de code VB :
' Convertion du style "Titre 2" en : {2{texte}2}
Sub spip_titre2()
Dim i As Integer
Dim aRange As Range
For i = 1 To ActiveDocument.Paragraphs.Count
If ActiveDocument.Paragraphs(i).Style = ActiveDocument.Styles(wdStyleHeading2) Then
ActiveDocument.Paragraphs(i).Style = wdStyleNormal
Set aRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(i).Range.Start, End:=ActiveDocument.Paragraphs(i).Range.End - 1)
aRange.InsertBefore ("{2{")
aRange.InsertAfter ("}2}")
End If
Next i
End Sub
' Convertion du style "Titre 3" en : {3{texte}3}
Sub spip_titre3()
Dim i As Integer
Dim aRange As Range
For i = 1 To ActiveDocument.Paragraphs.Count
If ActiveDocument.Paragraphs(i).Style = ActiveDocument.Styles(wdStyleHeading3) Then
ActiveDocument.Paragraphs(i).Style = wdStyleNormal
Set aRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(i).Range.Start, End:=ActiveDocument.Paragraphs(i).Range.End - 1)
aRange.InsertBefore ("{3{")
aRange.InsertAfter ("}3}")
End If
Next i
End Sub
# Le 15 juillet 2011 à 23:12, par Tony Gheeraert
En réponse à : Macro Word v.3 - Word2spip
Excellente idée ! Il faudra que je teste ça. Merci !
Répondre à ce message
# Le 16 novembre 2010 à 22:13, par zaa
En réponse à : Macro Word v.3 - Word2spip
Un gros merci !
# Le 16 novembre 2010 à 22:31, par Tony Gheeraert
En réponse à : Macro Word v.3 - Word2spip
Tant mieux si cela vous est utile !
Bon courage,
T.G.
Répondre à ce message
# Le 7 septembre 2010 à 23:24, par Tony Gheeraert
En réponse à : Macro Word v.3 - Word2spip
Merci de votre intérêt pour cette macro !
Pour être reconnues, les listes doivent être au style « Liste » (qui correspond au style interne de Word wdStyleList). C’est ainsi qu’Alexis avait conçu la chose.
On pourrait envisager effectivement d’aller plus loin, et de faire reconnaître les listes numérotées (wdStyleListBullet). J’essaierai quand j’aurai un peu de temps, et je vous tiendrai au courant si cela fonctionne.
Pour les tableaux, je n’ai pas touché au code, mais si vous pouviez jeter un coup d’oeil pour voir si ça tourne sous Office 2010 (que je n’ai pas encore), ce serait une info précieuse...
Bien à vous.
# Le 8 septembre 2010 à 03:46, par Karim
En réponse à : Macro Word v.3 - Word2spip
merci pour tes efforts !
je vais tester un max e tte donner mes résultats.
sinon pour office 2010 tu peux télécharger une version pour test de 90 jours...
Répondre à ce message
# Le 7 septembre 2010 à 22:27, par Karim
En réponse à : Macro Word v.3 - Word2spip
fonctionne avec word 2010 mais hélas le document généré en format spip est aussi tot fermé, donc je n’y ai pas accès, le mieux serait de le laisser ouvert sinon de proposer de l’enregistré ailleurs...
merci
# Le 7 septembre 2010 à 22:30, par Karim
En réponse à : Macro Word v.3 - Word2spip
finalement, le résultat est mis en mémoire (presse-papier) si je fais coller je retrouve tout mon texte au format spip !
par contre les listes numérotées ne sont pas transformées....même les listes tout court, je n’ai pas tester avec les tableaux ou les les images...
Répondre à ce message