Zone d'impression extensible sans macro

Bonjour,

J’ai quelques problèmes avec mes zones d’impression dynamiques SANS MACRO.

J’ai utilisé des formules du genre =DECALER(Démo!$D$1;;;EQUIV("";Démo!$D$2:$D$61;0)+1;2) pour définir des noms et j’arrive à faire fonctionner tout ça à certaines conditions, mais il suffit que je veuille modifier un seul petit paramètre et plus rien ne joue.

Pourriez-vous alors m’aider à définir un nom Zone_d_impression pour le fichier ci-joint et que quand je modifie le nombre de tirages en B1, la zone d’impression suive (Dans le fichier tel que présenté, s’il est écrit 12 en B1, je voudrais bien entendu un zone d’impression de D5 à E17).

Par la suite, je voudrais pouvoir moi-même corriger dans la formule le nombre de colonnes à prendre en compte dans la zone d’impression ainsi que de pouvoir modifier la première ligne à imprimer. Mais peut-être que je vais m’en sortir tout seul pour cette deuxième partie.

A vous relire.

Bonsoir

Je dois mal comprendre le problème

Si tu as défini

Zone_d_impression =DECALER(Démo!$D$5:$E$5;;;Démo!$B$1+1)

Celle-ci s'adaptera à B1

Bonsoir,

Je joins le fichier.

Rien à faire, je suis bien moins rapide que Banzaï64

Leakim


Et j'en apprend encore !!! DECALER une plage ! excellent Merci messieurs

Salut Banzai et merci pour ta réponse,

J’ai peut-être effectivement mal posé ma question. En fait ma cellule B1 avec un chiffre à disposition n’a été placée ici que pour faciliter la démonstration du problème ainsi que les essais.

Mais ce que je désirais, c’est que la zone d’impression dépende de la dernière cellule remplie de la colonne D (ou E, ça m’est un peu égal) afin d’être utilisable à d’autres occasions, par exemple si ce chiffre en B1 n’est pas à disposition. Ou en d'autres termes, il faudrait que cette zone d'impression s'actualise également si je rajoute des données manuellement dans les colonnes D et E.

As-tu donc une idée ?

EDIT : Je viens de voir la réponse de Leakim. ll semble que le problème n'est pas non plus résolu avec ta solution. Mais merci quand même de t'être intéressé à mon soucis.

Bonsoir

Dans la formule remplaces Démo!$B$1+1 parNBVAL(Démo!$D$5:$D$5000))

Du bonheur à toutes les lignes

Merci à tous deux pour votre aide ; ça fonctionne parfaitement et je crois que je comprends maintenant un peu mieux la fonction DECALER. La variante de Leakim, après correction, est tout aussi intéressante.

Bonne fin de soirée.

Re-bonjour,

Je dois réactiver ce fil car je m'aperçois d'un problème. Si le tableau qui doit être imprimé comporte des lignes vides au milieu, la zone d’impression ne sera pas correcte puisqu’il manque des valeurs.

Savez-vous comment contourner ce problème ?

Amicalement.

Bonsoir,

Peut-être faut-il ajouter NB.VIDE à la formule décaler ???

Un exemple peut-être, car sur le fichier que tu as joins au début du fil, il n'y a jamais de ligne vide??

Cordialement,

Leakim

Salut Leakim et merci pour ta réponse.

En fait la macro dans le fichier n'est là que pour faciliter de nouveaux essais. Donc après l'avoir lancer, on peut effacer quelques lignes afin de simuler un tableau avec des lignes vides, comme dans le fichier ci-joint.

Je ne vois par contre pas comment tu veux utiliser la fonction NB.VIDE, puisqu'en fait il faudrait trouver la dernière ligne non-vide, soit la dernière ligne du tableau.

A te relire.

Un essai en passant par une formule.

A voir,

Leakim

Merci Leakim pour ta proposition, mais mon but était vraiment de ne pas passer par une cellule intermédiaire.

Je suis presque certain qu'il y a une solution, mais la trouvera-t-on ?

Bonnes salutations.

C'est dommage j'étais très fier de ma bidouille de novice

Je suis sûr qu'il y a un moyen aussi. J'ai essayer d'inclure un calcul directement dans DECALER mais cela fait tout sauter

Peut-être avec EQUIV ou autre chose de la sorte... Je cherche encore

Leakim

Bonjour

Un peut tiré par les cheveux mais qui fonctionne ( à condition que la dernière valeur soit numérique)

Zone_d_impression =DECALER(Démo!$D$5:$E$5;;;1+EQUIV(9^9;Démo!$D:$D;1)-LIGNE(Démo!$D$5))

Bonjour le fil

Yvouille, réponse donnée sur l'autre forum sans passer par des étapes intermédiaires

=DECALER(Démo!$D$5:$E$5;;;MAX(SI(ESTVIDE(Démo!$D:$D);0;LIGNE(Démo!$D:$D)))-4)

-4 pour les 4 premières lignes vides au dessus du tableau que l'on ne veut pas imprimer

Bonjour à tous,

Un mot d’explication : comme je n’obtenais pas l’aide désirée ici, je me suis permis de poser la même question sur le Forum Excel-Downloads où …. Bruno m’a répondu

Bruno, je t’ai déjà remercié sur l’autre fil et je t’y ai indiqué que je placerai ta solution sur Excel-Pratique. Mais j’arrive ici un peu tard, tu as déjà fait le travail à ma place

Banzai, je n’ai pas testé ta solution car j’ai déjà testé celle de Bruno qui fonctionne même pour des valeurs de texte.

Encore une fois merci à tous ceux qui ont apporté leur contribution et j’espère que tous puissent en profiter.

Excellente journée à vous.

Bravo messieurs,

Merci pour le retour de solution.

Je pense que cette formule trouvera d'autre application !!!

Leakim

Rechercher des sujets similaires à "zone impression extensible macro"