Autrefois, il était possible de numériser directement un document depuis Word. Cette fonctionnalité a disparu des versions récentes d'Office, mais il reste possible de piloter certains scanners à l'aide de VBA grâce à la technologie WIA (Windows Image Acquisition).
Principe
Le fonctionnement est simple :
- L'utilisateur lance la macro.
- Word lance la numérisation.
- Le scanner produit une image.
- L'image est enregistrée sur le disque.
- Elle peut éventuellement être insérée automatiquement dans le document.
Cette méthode fonctionne également depuis PowerPoint ou Excel.
Préparer l'environnement VBA
Ouvrez l'éditeur VBA :
- Dans le menu Outils > Références.
- Cochez : Microsoft Windows Image Acquisition Library v2.0

Premier exemple : lancer un scan
Dim dlg As New WIA.CommonDialog
Dim img As WIA.ImageFile
Set img = dlg.ShowAcquireImage
img.SaveFile "C:\Temp\Scan.jpg"
MsgBox "Numérisation terminée."
End Sub
Lorsque la macro est exécutée, Windows affiche la boîte de dialogue de numérisation. Une fois le scan terminé, l'image est enregistrée dans le dossier C:\Temp.
Insérer automatiquement l'image dans Word
Une fois l'image créée, il est possible de l'insérer directement dans le document :
L'image apparaît alors à l'emplacement du curseur.
Exemple complet
Dim dlg As New WIA.CommonDialog
Dim img As WIA.ImageFile
Dim NomFichier As String
NomFichier = "C:\Temp\Scan.jpg"
Set img = dlg.ShowAcquireImage
img.SaveFile NomFichier
Selection.InlineShapes.AddPicture _
FileName:=NomFichier
End Sub
Éviter les références manquantes
Si le document doit être distribué à plusieurs utilisateurs, il peut être préférable d'utiliser le Late Binding :
End Sub
Dim dlg As Object
Dim img As Object
Set dlg = CreateObject("WIA.CommonDialog")
Set img = dlg.ShowAcquireImage
img.SaveFile "C:\Temp\Scan.jpg"
End Sub
Cette technique évite certains problèmes de références VBA manquantes.
Limitations
Tous les scanners ne prennent pas en charge WIA.
Selon les modèles :
- certains fonctionnent immédiatement ;
- d'autres nécessitent le pilote du fabricant ;
- certains anciens modèles utilisent uniquement TWAIN ;
- quelques périphériques multifonctions ne proposent aucune interface compatible.
En cas d'échec, il faut généralement utiliser le logiciel fourni avec le scanner puis insérer manuellement l'image dans Word.
Peut-on accéder aux scanners sans VBA ?
Les versions actuelles de Word permettent toujours d'insérer une image provenant :
- du disque dur ;
- d'une clé USB ;
- d'un smartphone connecté ;
- d'un lecteur réseau.
En revanche, la communication directe avec un scanner nécessite désormais l'utilisation de VBA ou du logiciel du constructeur.
Conclusion
Même si Word ne propose plus de fonction de numérisation intégrée, VBA associé à WIA permet encore d'automatiser cette tâche sur de nombreux scanners compatibles.
La difficulté principale ne vient généralement pas du code lui-même, mais de la compatibilité du pilote installé sur la machine.


