Numéro d'article: 290775 - Dernière mise à jour: lundi 24 avril 2006 - Version: 4.0

Outlook 2002 n'imprime pas les formulaires comme prévu

Ancien nº de publication de cet article : F290775
Pour vous procurer une version Microsoft Outlook 2000 de cet article, reportez-vous à l'article 230512  (http://support.microsoft.com/kb/230512/ ) .
Pour vous procurer une version Microsoft Outlook 98 de cet article, reportez-vous à l'article 194802  (http://support.microsoft.com/kb/194802/ ) .

Sommaire

Agrandir tout | Réduire tout

Symptômes

Vous souhaitez imprimer un formulaire Microsoft Outlook dans un format spécifique, mais cela semble impossible.

Cause

Outlook ne peut imprimer des formulaires qu'avec les options disponibles dans la fenêtre Imprimer. Alors que pouvez personnaliser les paramètres du style d'impression à l'aide des diverses options disponibles dans l'interface utilisateur Outlook, vous ne pouvez pas modifier le mode d'impression de base dans Outlook à l'aide de styles personnalisés.

Pour les programmeurs, le modèle d'objets Outlook ne fournit pas de méthodes supplémentaires permettant de modifier directement le format d'impression d'un formulaire.

Plus d'informations

Important Cet article suppose que vous savez créer des formulaires personnalisés Outlook et utiliser VBSCript (Microsoft Visual Basic Scripting Edition). Il propose un exemple de base sur la façon de commencer l'implémentation d'une solution et celle-ci devra très certainement être considérablement personnalisée pour s'adapter à un besoin spécifique. Si vous n'êtes pas familiarisé avec la programmation et l'implémentation d'une solution personnalisée, vous souhaiterez peut-être l'assistance d'un Partenaire Solutions Microsoft. Pour plus d'informations sur la manière de contacter un Partenaire Solutions Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
287531  (http://support.microsoft.com/kb/287531/ ) Liste de ressources pour les formulaires personnalisés et la programmation avec Outlook 2002
Les méthodes suivantes fournissent une vue d'ensemble des approches que vous pouvez utiliser pour résoudre ce problème. Ces approches doivent être évaluées d'après des facteurs tels que les suivants :
  • Si vous utilisez un formulaire personnalisé ou si vous envisagez d'en utiliser un afin d'activer des fonctionnalités supplémentaires.
  • Si vous avez besoin d'un format d'impression personnalisé ou si vous voulez juste imprimer le formulaire exactement comme il s'affiche à l'écran.
  • Si vous êtes suffisamment familiarisé avec la programmation. Si vous connaissez bien la programmation de type Visual Basic, vous êtes à même de développer une solution. Dans le cas contraire, nous vous conseillons de vous adresser à un développeur susceptible de vous fournir une solution.

Méthode 1 : Utilisation de ALT+IMPR. ÉCRAN

Si vous souhaitez imprimer un formulaire tel qu'il apparaît à l'écran sans développer de solution, vous pouvez utiliser la combinaison de touches ALT+IMPR. ÉCRAN pour copier l'image du formulaire dans le Presse-papiers. Vous pouvez alors coller le contenu du Presse-papiers dans un autre programme afin de l'imprimer.

Pour imprimer l'image d'un formulaire dans Microsoft Word, procédez comme suit :
  1. Alors que le formulaire Outlook est affiché, appuyez sur ALT+IMPR. ÉCRAN. Rien ne se produit.
  2. Passez dans Word ou ouvrez-le.
  3. Assurez-vous que vous avez un nouveau document ouvert. Vous souhaiterez peut-être réduire les marges du document afin de laisser davantage de place pour que l'image tienne dans la page.
  4. Dans le menu Edition, cliquez sur Coller.
  5. Redimensionnez l'image en fonction de vos besoins :
    1. Cliquez une fois sur l'image pour la sélectionner.
    2. Dans le menu Format, cliquez sur Image.
    3. Cliquez sur Taille dans Format de l'image.
    4. Sous l'onglet Taille, définissez la Hauteur et la Largeur de l'image.
  6. Pour imprimer le document, dans le menu Fichier, cliquez sur Imprimer.

Méthode 2 : Utilisation de VBScript pour automatiser la méthode ALT+IMPR. ÉCRAN

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut notamment les garanties implicites de qualité ou d'adéquation à un usage particulier. Pour bien comprendre cet article, vous devez connaître le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne modifieront pas ces exemples pour vous fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Si vous souhaitez imprimer un formulaire tel qu'il apparaît à l'écran et envisagez d'utiliser un formulaire Outlook personnalisé contenant un code de programmation personnalisé, vous pouvez utiliser VBScript pour automatiser la méthode 1. Au final, vous pourrez appuyez sur ALT+IMPR. ÉCRAN puis cliquer sur un bouton du formulaire pour l'imprimer. Pour cela, vous devez ajouter un bouton Imprimer au formulaire.

Pour créer le formulaire personnalisé, procédez comme suit :
  1. Dans le menu Outils, pointez sur Formulaires, puis cliquez sur Créer ce formulaire. Cliquez sur la page (P.2) du formulaire.
  2. Dans le menu Formulaire, cliquez sur Boîtes de commandes. Faites glisser un contrôle CommandButton dans la page (P.2) du formulaire. Cliquez avec le bouton droit sur le contrôle, puis cliquez sur Propriétés. Sous l'onglet Affichage, définissez le Nom sur cmdPrint et la Légende sur Imprimer. Cliquez sur OK, puis fermez les boîtes de commandes.
  3. Dans le menu Formulaire, cliquez sur Afficher le code. Entrez le code VBScript suivant dans Script Editor, puis fermez cette application.
    Sub cmdPrint_Click()
       Set oWordApp = CreateObject("Word.Application")
       If oWordApp Is Nothing Then
          MsgBox "Couldn't start Word."
       Else
          Dim oWordApp
          Dim oWordDoc
          Dim oBMs
          Dim bolPrintBackground
    
          ' Open a new document.
          Set oDoc = oWordApp.Documents.Add
    
          ' Set a page setup object variable.
          Set oPS = oDoc.PageSetup
    
          ' Reduce the margins to .5" (36 points).
          oPS.TopMargin = 36
          oPS.BottomMargin = 36
          oPS.LeftMargin = 36
          oPS.RightMargin = 36
    
          ' Paste in the screen shot.
          oWordApp.Selection.Paste
    
          ' Center the screen shot.
          Const wdAlignParagraphCenter = 1
          oDoc.Paragraphs(1).Alignment = wdAlignParagraphCenter
    
          ' Get the current Word setting for background printing.
          bolPrintBackground = oWordApp.Options.PrintBackground
    
          ' Turn background printing off.
          oWordApp.Options.PrintBackground = False
    
          ' Print the Word document.
          oDoc.PrintOut
    
          ' Restore previous setting.
          oWordApp.Options.PrintBackground = bolPrintBackground
    
          ' Close and do not save changes to the document.
          Const wdDoNotSaveChanges = 0
          oDoc.Close wdDoNotSaveChanges
    
          ' Close the Word instance.
          oWordApp.Quit
    
          ' Clean up.
          Set oPS = Nothing
          Set oDoc = Nothing
          Set oWordApp = Nothing
       End If
    End Sub
    					
  4. Dans le menu Outils, pointez sur Formulaires, puis cliquez sur Publier le formulaire. Par défaut, le formulaire Contact est stocké dans votre dossier Contacts. Tapez Test d'impression comme Nom complet, puis cliquez sur Publier.
  5. Fermez le formulaire sans enregistrer les modifications apportées.
Pour tester le formulaire, procédez comme suit :
  1. Dans le menu Actions, cliquez sur Nouveau test d'impression.
  2. Appuyez sur ALT+IMPR. ÉCRAN.
  3. Cliquez sur la page P.2 du formulaire, puis sur Imprimer.

Méthode 3 : Création d'un rapport personnalisé

Si vous souhaitez créer une impression personnalisée ou éviter que les utilisateurs aient à appuyer sur ALT+IMPR. ÉCRAN, vous pouvez créer un modèle Word contenant des champs de formulaires, puis faire en sorte que Outlook transfère automatiquement ces champs d'un élément Outlook vers le modèle. Ainsi, Word gérera toute la mise en forme et l'impression.

Remarque Vous pouvez utiliser un autre programme, tel que Microsoft Excel, en fonction du format d'impression requis et de votre capacité de programmation.

Pour créer l'exemple de modèle Word, procédez comme suit :
  1. Ouvrez un nouveau document dans Word.
  2. Dans le menu Affichage, pointez sur Barres d'outils, puis cliquez sur Formulaires.
  3. Cliquez sur le bouton Champ texte de la barre d'outils Formulaires pour insérer un champ de formulaire. Appuyez deux fois sur ENTRÉE, puis cliquez à nouveau sur le bouton Champ texte pour insérer un second champ de formulaire. Notez que les champs de formulaire ont les noms de signet par défaut de Texte1 et Texte2.
  4. Cliquez sur le bouton Protection du formulaire de la barre d'outils Formulaires pour protéger le modèle.
  5. Dans le menu Fichier, cliquez sur Enregistrer sous. Remplacez le paramètre Type du fichier par Modèle de document. Remplacez le paramètre Enregistrer dans par (C:). Tapez MonFormulaire comme nom de modèle, puis cliquez sur Enregistrer.
  6. Fermez le modèle.
Pour créer le formulaire Outlook, procédez comme suit :
  1. Ouvrez un nouveau formulaire Contact. Dans le menu Outils, cliquez sur Formulaires, puis sur Créer ce formulaire. Cliquez sur la page (P.2) du formulaire.
  2. Dans le menu Formulaire, cliquez sur Boîtes de commandes. Faites glisser un contrôle CommandButton dans la page P.2 du formulaire. Cliquez avec le bouton droit sur le contrôle, puis cliquez sur Propriétés. Sous l'onglet Affichage, définissez le Nom sur cmdPrint et la Légende sur Imprimer. Cliquez sur OK, puis fermez les boîtes de commandes.
  3. Dans le menu Formulaire, cliquez sur Afficher le code. Entrez le code VBScript suivant dans Script Editor, puis fermez cette application.
    Sub cmdPrint_Click()
       Set oWordApp = CreateObject("Word.Application")
       If oWordApp Is Nothing Then
          MsgBox "Couldn't start Word."
       Else
          Dim oWordApp
          Dim oWordDoc
          Dim bolPrintBackground
    
          ' Open a new document.
          Set oDoc = oWordApp.Documents.Add("C:\MyForm.dot")
    
          ' Set the first bookmark to the contact's full name.
          oDoc.FormFields("Text1").Result = CStr(Item.FullName)
    
          ' Set the second bookmark to the contact's birthday.
          oDoc.FormFields("Text2").Result = CStr(Item.Birthday)
    
          ' If the form contains user-defined fields, you can use
          ' the following syntax to transfer the contents of a
          ' user-defined field (FieldName) to Word:
          ' strMyField = Item.UserProperties.Find("FieldName")
          ' oDoc.FormFields("Text3").Result = strMyField
    
          ' Get the current Word setting for background printing.
          bolPrintBackground = oWordApp.Options.PrintBackground
    
          ' Turn background printing off.
          oWordApp.Options.PrintBackground = False
    
          ' Print the Word document.
          oDoc.PrintOut
    
          ' Restore previous setting.
          oWordApp.Options.PrintBackground = bolPrintBackground
    
          ' Close and do not save changes to the document.
          Const wdDoNotSaveChanges = 0
          oDoc.Close wdDoNotSaveChanges
    
          ' Close the Word instance.
          oWordApp.Quit
    
          ' Clean up.
          Set oDoc = Nothing
          Set oWordApp = Nothing
       End If
    End Sub
    					
  4. Dans le menu Outils, pointez sur Formulaires, puis cliquez sur Publier le formulaire. Par défaut, le formulaire Contact est stocké dans votre dossier Contacts. Tapez Envoi des champs comme Nom complet, puis cliquez sur Publier.
  5. Fermez le formulaire que vous venez de créer sans enregistrer les modifications apportées.
Pour tester le formulaire, procédez comme suit :
  1. Dans le menu Actions, cliquez sur Nouveau Envoi des champs.
  2. Entrez un nom complet pour le contact. Sur la page Détails du formulaire, entrez une date de naissance.
  3. Cliquez sur la page P.2 du formulaire, puis sur Imprimer.
Le nom complet du contact et la date de naissance sont imprimés. Vous pouvez personnaliser le modèle Word en fonction de vos besoins.

Remarque Cet exemple ne prend en charge qu'un champ de texte contenant moins de 256 caractères. Si vous souhaitez insérer davantage de texte dans chaque champ, vous devez revoir la solution.

Références

Pour plus d'informations sur les ressources disponibles et les réponses aux questions les plus fréquemment posées sur les solutions Microsoft Outlook, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
287530  (http://support.microsoft.com/kb/287530/ ) Questions sur les formulaires personnalisés et les solutions Microsoft Outlook

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Outlook 2002 Standard
Mots-clés : 
kbprint kbforms kbprb KB290775
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
 

Traductions disponibles

 

Related Support Centers