Suite à la réponse utile de Lernkurve, je conclus que 'Coller spécial...' ne fait pas le travail, tandis que le mappage des raccourcis clavier vers des macros créées à partir de la boîte de dialogue 'mode de collage' le fait. Étant donné que ses deux premières options s'appliquent à Word 2013 et plus, toute personne bloquée sur la version 2007 devra créer et mapper des macros.
Enregistrement des Macros
Pour enregistrer des macros, vous devez avoir l'onglet Développeurs activé dans le ruban, dans Options Word/Options populaires.
Macros pour les Modes de Collage
Les macros nécessaires pour faire le travail, enregistrées en entrant dans le menu choix après le collage sont :
Sub CollerOriginal()
' Coller avec l'option 'formatage d'origine'
Selection.PasteAndFormat (wdFormatOriginalFormatting)
End Sub
Sub CollerCorrespondance()
' Coller avec l'option 'correspondance de destination'
Selection.PasteAndFormat (wdFormatSurroundingFormattingWithEmphasis)
End Sub
Sub CollerTexte()
' Coller avec l'option 'texte uniquement'
Selection.PasteAndFormat (wdFormatPlainText)
End Sub
J'ai affecté ces raccourcis à Ctrl+Alt+Shift+(<|||>) pour garder le format, texte seulement et fusionner le format respectivement. J'ai choisi les touches de modification Ctrl+Alt+Shift pour éviter les conflits avec les mappings prédéfinis, tandis que (<|||>) m'a suggéré de regarder en arrière (vers le format source), neutre et de regarder vers l'avant (vers le format de destination), même si ce n'est pas vraiment ce qui se passe.
Sens des Options
La signification des options est décrite comme suit sur MSDN (je n'ai pas testé cela en profondeur) :
- Garder le format source (
wdFormatOriginalFormatting
) : "Préserve le formatage d'origine du matériel collé" - Je présume que cela inclut les styles, mais je me demande ce qui se passe en cas de conflit de noms de styles. Je présume que tout le formatage actuel est ignoré.
- Fusionner le formatage (
wdFormatSurroundingFormattingWithEmphasis
) : "Correspond au formatage du texte collé au formatage du texte environnant" - Je pense que cela signifie que les caractères de la source et tout élément en emphase (gras, italique, _ souligné _) sont insérés dans le formatage actuel, tandis que tout autre formatage d'origine est ignoré.
- Garder le texte uniquement (
wdFormatPlainText
) : "Colle en tant que texte simple et non formaté." - Seuls les caractères de la source sont insérés, dans le formatage actuel.
Options dans Coller Spécial
J'ai exploré les options dans 'Coller spécial...', en enregistrant des macros pour chaque option, comme dans la capture d'écran de la boîte de dialogue dans la réponse de Lernkurve. Certaines semblaient se comporter comme garder le format (parfois en faisant des choses supplémentaires étranges), d'autres comme texte seulement, mais aucune comme fusionner le format. (Pour obtenir toutes les options, j'ai dû coller du texte avec un formatage supplémentaire, sinon je n'obtenais que deux options ; mon ensemble d'options incluait "Image (Métafichier Windows)", pas dans sa capture d'écran.)
Voici les résultats :
Sub CollerDocSpecial() ' Objet document MS Office Word
Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement _
:=wdInLine, DisplayAsIcon:=False
End Sub
Sub CollerRTFSpecial() ' Texte formaté (RTF)
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub CollerTexteSimpleSpecial() ' Texte non formaté
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub CollerImageSpecial() ' Image (Métafichier Windows)
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub CollerImageAmelioreeSpecial() ' Image (Métafichier amélioré)
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub CollerHTMLSpecial() 'Format HTML
Selection.PasteSpecial Link:=False, DataType:=wdPasteHTML, Placement:= _
wdInLine, DisplayAsIcon:=False
End Sub
Sub CollerTexteUnicodeSpecial() ' Texte Unicode non formaté
Selection.PasteSpecial Link:=False, DataType:=20, Placement:=wdInLine, _
DisplayAsIcon:=False