Zone Impression

Bonjour,

J'effectue un planning. L'utilisateur de mon tableau rentre le nombre de semaines et de tâches qu'il souhaite et mon tableau s'actualise. Exemple : 5 semaines rajoutent 5*5 = 25 jours ouvrés donc 25 colonnes

20 tâches rajoutent 30 lignes (x tâches + 10 pour laisser un espace).

Au départ mon tableau part de A1 et va jusqu'à M17. Mais lorsqu'il est agrandit, la zone d'impression ne se met pas à jour.

Est-il possible de faire une macro que je mets sur un bouton et quand l'utilisateur clique sur ce bouton, la zone d'impression s'actualise.

Pour l'exemple, restons sur 5 semaines et 20 tâches. On se retrouve avec un tableau (A1;AG45)

Avant d'imprimer, je souhaite affecter tout mon tableau à la zone d'impression.

NB : Les cellules de mon tableau ne sont pas remplies, il les remplies à la main.

NB 2 : Je ne peux pas mettre mon fichier en PJ (confidentiel), mais si besoin j'en fabriquerai un autre.

Merci beaucoup d'avance pour vos réponses

Je vous souhaite une excellente journée !

bonjour

pour definir par macro une zone d'impression :

par exemple :

ActiveSheet.PageSetup.PrintArea = "A1:S" & Range("B65536").End(xlUp).Row

a priori comme tu fais un affichage en fonction de d'une demande de l'utilisateur, tu ne devrais pas avoir de difficultées pour adaté cette ligne de code

Fred

Bonjour Fred ! Merci pour ta réactivité !

Je suis novice en VBA je t'avoue.. Du coup je ne sais pas réutiliser les variables que l'utilisateur a entré. J'ai le nom des variables, mais comment je les appelle depuis une autre macro ?

Merci encore, tu me sauves !!

Bonjour,

L'utilisateur de mon tableau rentre le nombre de semaines et de tâches qu'il souhaite

Je suppose que c'est à partir de cette saisie que doit se définir la zone d'impression ?

Il conviendrait donc d'avoir les règles de correspondances entre ces données et la zone d'impression à définir, voire pouvoir établir une fonction calculant la zone d'impression à partir de ces données et renvoyant une adresse de plage (donnée String) directement affectable à la propriété .PrintArea

La mise à jour de la propriété pourrait être assurée en programmant l'évènement BeforePrint du classeur, elle resterait ainsi tout à fait transparente pour l'utilisateur.

Cordialement.

Ah ça, ce serait le top mais j'y suis pas encore !

Je vais essayer de ressortir les chiffres inscrits par l'utilisateur alors.

Merci bien

Raph

Une zone d'impression, c'est une adresse de plage, il faut qu'on puisse la calculer à partir des données saisies, donc qu'on connaisse ce qui peut être saisi et à quoi ça correspond pour les lignes et colonnes de la feuille !

Alors voilà, ceci est un exemple sans la confidentialité (PJ)

Il faut cliquer sur Semaines (la mise en forme reste à faire). choisir 5 dans la première boite de dialogue et 50 dans la suivante pour en faire un exemple.

Le bouton Ordonner n'est pas utile, il permet juste d'ordonner la première colonne.

Là, vous verrez comment bouge mon tableau.

L'idée étant de n'avoir qu'à cliquer sur un bouton pour imprimer jusqu'à la case "R : Reçu" en ligne et jusqu'à "Effectué par :" en colonne.

Si quelqu'un sait faire, je suis preneur !!

Merci à tous

Raph

Bonjour,

Il serait certainement mieux que tu indiques les valeurs que peut saisir l'utilisateur, et pour chacune quelle doit être la zone d'impression !

Cela éviterait de se perdre en conjectures avec ton fichier !

Note bien que je l'ai rapidement examiné... déjà je n'ai pas trouvé moyen de revenir en arrière à la position de départ, ce qui rend un peu compliqué un étalonnage, lequel n'est pas non révélé par le code (qui par ailleurs me chiffonne sur plusieurs points...)

Cordialement.

Hmm ok, je ne comprends pas tout ^^

Mais je ne crois pas que cela réponde à la question.

Les utilisateurs sauront qu'on ne peut revenir en arrière, j'ai juste besoin d'un code qui récupère les données de l'utilisateur et qui en déduit la zone d'impression en fait

Mais pas de soucis si c'est pas facile à faire, tant pis !

Merci beaucoup d'avoir regardé en tous cas .

Bonne journée

Mais pas de soucis si c'est pas facile à faire, tant pis !

La chose ne présente aucune difficulté, dès lors que l'on dresse une liste : valeurs saisies admises => zone d'impression résultante...

On pourra même arranger et rendre plus fiable la procédure d'insertion des valeurs...

Mais je suis un peu surpris que concepteurs et utilisateurs du fichier ne soient pas en mesure de dresser une telle liste !

Mais la liste va de 5 à 250 tâches. Le problème comme je l'ai dit plusieurs fois c'est que je ne sais pas comment récupérer ce chiffre pour le mettre dans une nouvelle macro...

RaphCopp a écrit :

Mais la liste va de 5 à 250 tâches. Le problème comme je l'ai dit plusieurs fois c'est que je ne sais pas comment récupérer ce chiffre pour le mettre dans une nouvelle macro...

Il doit bien y avoir quelques regroupements propres à créer des tranches, ou bien une continuité traduisible en règle de calcul... !

Comment récupérer un chiffre (disons plutôt une valeur...) : on l'affecte à une variable !

Bonjour, à tester

Rechercher des sujets similaires à "zone impression"