Réglage dynamique de la zone d’impression sur la feuille avec Excel VBA

Il arrive parfois que vous deviez ajouter de nouvelles données aux feuilles. Dans ce cas, il sera également nécessaire d’ajuster la zone d’impression de sorte que toutes les entrées nouvellement ajoutées lui soient envoyées. Pourquoi le faites-vous manuellement, si vous pouvez utiliser une macro qui ajustera de manière dynamique la zone d’impression, en tenant compte des nouvelles données entrées?
Comment ca marche?
Dans cette macro simple, pour définir la plage de cellules à renvoyer dans la zone d’impression, la propriété PrintArea a été utilisée. Comme vous pouvez le constater, la valeur de la propriété PrintArea est simplement l’adresse spécifiée par la propriété UsedRange. La propriété UseRange indique la plage des cellules dans lesquelles les données ont été entrées.
Pour que les modifications soient effectuées de manière dynamique, le code a été implémenté dans l’événement change de la feuille de calcul:

Private Sub Worksheet_Change(ByVal Cible As Range)
ActiveSheet.PageSetup.PrintArea = ActiveSheet.UsedRange.Address
End Sub

Comment utiliser la macro?
Pour implémenter cette macro, copiez et collez son code dans la fenêtre Code, en l’ajoutant à la méthode de gestion de l’événement Worksheet_Change. Si vous le placez ici, vous pourrez exécuter la macro chaque fois qu’un utilisateur clique deux fois sur une feuille.
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, recherchez le bon projet ou classeur, puis cliquez sur le signe + en regard de celui-ci. Toutes les feuilles seront affichées.
3. Sélectionnez la feuille dans laquelle vous voulez exécuter le code.
4. Sélectionnez l’option Change event dans la liste déroulante Event.
5. Entrez ou collez le code.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x