Annuler l'impression d'un état s'il ne contient aucun enregistrement

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Vous pouvez par défaut imprimer les états qui ne contiennent aucun enregistrement. Pour résoudre ce problème, vous pouvez utiliser une macro ou du code Microsoft Visual Basic for Applications (VBA) pour détecter l'absence d'enregistrements dans un état et annuler l'opération d'impression. Les étapes de cet article expliquent comment utiliser ces deux techniques.

Que voulez-vous faire ?

Utiliser une macro pour annuler l’impression

Utiliser du code VBA pour annuler l’impression

Vous voulez probablement annuler l'impression d'un état lorsqu'il ne contient aucun enregistrement. Par exemple, si vous lancez la vente d'un nouveau produit, il est probable qu'aucune vente ne sera enregistrée avant un certain temps. Vous devez donc envisager la possibilité que certains de vos états ne contiendront aucun enregistrement détail et que les fonctions d'agrégation telles que Compte n'auront rien à compter. Pour traiter judicieusement une telle situation, vous pouvez créer une macro qui annule le travail d'impression. Vous pouvez également ajouter quelques lignes de code VBA soigneusement placé pour exécuter la même opération. VBA est le langage de programmation utilisée par Microsoft Office Access 2007.

Vous ajoutez la macro ou le code VBA à procédure du rapport Sur N° Data événement. Office Access 2007 déclenche l’événement Sur aucune donnée dès que vous exécutez un état qui ne comporte aucun enregistrement. La macro et le code VBA décrit dans cet article affichent un message approprié et annuler l’impression de l’état lorsqu’il ne contient aucune donnée. Lorsque vous ajoutez une macro ou du code VBA à la procédure événementielle Sur aucune donnée , la macro ou le code VBA s’exécute chaque fois que vous ouvrez un état qui ne contient aucun enregistrement. Lorsque vous cliquez sur OK pour fermer un message d’alerte, la macro ferme également le rapport vide. Lorsque vous ajoutez la macro ou le code VBA au rapport, un état vierge s’ouvre pas lorsque vous essayez d’afficher en mode État ou page, mais vous pouvez ouvrir le rapport en mode Création.

Utiliser une macro pour annuler l'impression

La macro décrite dans cette section affiche un message d'alerte lorsque vous essayez d'imprimer un état vide. Lorsque vous cliquez sur OK pour fermer le message, la macro annule automatiquement l'opération d'impression. Si vous n'incluez aucun message d'alerte, il semblera que rien ne se produit après une tentative d'impression de l'état, ce qui peut dérouter les utilisateurs.

Créer la macro

  1. Dans le volet de navigation, cliquez avec le bouton droit sur l'état à modifier, puis cliquez sur Mode création.

  2. Sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Feuille des propriétés.

    - ou -

    Double-cliquez sur la zone dans le coin supérieur gauche ou droit de l'état selon vos paramètres régionaux et linguistiques.

  3. Cliquez sur l’onglet événement, puis dans la zone de propriété Sur aucune donnée, cliquez sur Bouton Générateur .

    La boîte de dialogue Choisir Générateur s'affiche.

  4. Cliquez sur Générateur de macro, puis sur OK.

    Le concepteur de macro démarre et affiche une macro vide.

  5. Dans la première ligne de la macro, cliquez sur le champ de la colonne Action et sélectionnez BoîteMsg dans la liste.

  6. Sous Arguments de l'action, dans la section inférieure du concepteur de macro, dans la zone Message, tapez le texte de votre message d'alerte.

    Par exemple, vous pouvez entrer les éléments suivants : ne contient aucun enregistrement à signaler.

  7. Éventuellement, modifiez la valeur de l'argument dans la zone Bip en remplaçant Oui par Non et, dans la liste Type, sélectionnez le type d'icône à afficher dans votre message d'alerte.

  8. Dans la zone Titre, tapez le titre de votre message d'alerte.

    Par exemple, vous pouvez entrer Aucun enregistrement.

    Vos modifications s'affichent dans la partie supérieure du concepteur de macro, dans la colonne Argument correspondant à l'action BoîteMsg.

  9. Dans la partie supérieure du concepteur de macro, cliquez sur la cellule suivante de la colonne Action (la cellule directement sous MsgBox), puis sélectionnez AnnulerEvénement

    Votre macro devrait ressembler à l'image suivante, même si vous pouvez utiliser un autre texte dans les arguments.

    Exemple de macro annulant une opération d'impression

  10. Sous l’onglet Création, dans le groupe Fermer, cliquez sur Enregistrer sous et puis utilisez la boîte de dialogue Enregistrer sous pour donner un nom à la macro.

  11. Fermez la macro. Si un message d'alerte s'affiche vous demandant si vous souhaitez enregistrer les modifications apportées à la macro et la propriété d'état, cliquez sur Oui et passez aux étapes suivantes pour la tester.

Tester votre macro

  • Dans le volet de navigation, cliquez avec le bouton droit sur l'état qui contient la macro et cliquez sur Imprimer. Un message d'alerte semblable au suivant doit s'afficher en fonction des options que vous avez choisies :

    Message affiché lorsque l'état ne contient aucun enregistrement

    Lorsque vous cliquez sur OK pour fermer le message, l'action AnnulerEvénement cesse l'opération d'impression. Comme vous n'avez spécifié aucun autre événement (par exemple l'ouverture de l'état pour l'afficher) l'état se ferme.

Haut de la Page

Utiliser du code VBA pour annuler l'impression

Le code VBA décrit ici fonctionne de manière comparable à la macro décrite dans la section précédente : il affiche un message d'alerte lors de l'ouverture d'un état vide, puis annule l'opération d'impression à la fermeture du message d'alerte.

Ajouter du code VBA

  1. Dans le volet de navigation, cliquez avec le bouton droit sur l'état à modifier, puis cliquez sur Mode création.

    Remarque : Pour effectuer cette procédure utiliser un état qui ne contient aucun enregistrement.

  2. Sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Feuille des propriétés.

    - ou -

    Double-cliquez sur la zone dans le coin supérieur gauche ou droit de l'état selon vos paramètres régionaux et linguistiques.

  3. Cliquez sur l’onglet événement, puis dans la zone de propriété Sur aucune donnée, cliquez sur Bouton Générateur .

    La boîte de dialogue Choisir Générateur s'affiche.

  4. Cliquez sur Générateur de code, puis sur OK.

    Visual Basic Editor démarre et affiche une procédure d'événement vide.

  5. Tapez le code suivant dans Visual Basic Editor pour que la procédure Report_NoData s'affiche exactement comme suit une fois l'opération terminée :

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Lorsque vous avez terminé, cliquez sur fichier, puis cliquez sur Enregistrer.

  7. Cliquez sur fichier, puis cliquez sur Fermer et revenir à Microsoft Office Access.

  8. Fermez le rapport ouvert, puis cliquez sur Oui pour confirmer l’enregistrement.

  9. Dans le volet de navigation, cliquez avec le bouton droit sur l'état que vous venez de modifier et cliquez sur Imprimer. Un message tel que le suivant s'affiche :

Message affiché lorsque l'état ne contient aucun enregistrement

La procédure Report_NoData utilise la fonction BoîteMsg pour afficher le message There are no records to report et un bouton OK. Lorsque vous cliquez sur OK, la ligne « Cancel=True » de la procédure ordonne à Access d'annuler l'état. Cancel est un argument automatiquement transmis à la procédure d'événement ; il est toujours vérifié par Access lorsque la procédure d'événement est réalisée.

Haut de la Page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×