Compteur excel - compteur à chaque impression

Bonjour,

J’ai un fichier excel dans lequel je numérote le document. J’aimerais que la numérotation se fasse automatiquement à chaque impression pour être sur de n’avoir jamais 2 numéros identiques.

Si quelqu’un a une solution pour moi je suis preneur d’autant plus que je ne suis pas expert dans l’utilisation d’excel…

Merci d’avance

Il y a un évènement dans excel qui se déclenche avant chaque impression.
On peut le gérer en VBA :
Sélectionner this Workbook puis dans la fenêtre de droite Workbook dans la premiere liste déroulante, et BeforePrint dans la seconde.
Puis associer le code
ex : Range("CompteurPage") = range("CompteurPage") +1
si la cellule compteur a été nommée CompteurPage

Si le classeur est composé de plusieurs pages susceptibles d’êre imprimées, il faudra en plus rajouter un test pour la feuille active
Attention également aux “fausses manoeuvres” : avec cette méthode, le compteur progresse également sur l’aperçu avant impression, et sur l’annulation d’impresion.

[merci pour cette info ça fonctionne à merveille… le Hic c’est qu’il faut lancer impression par impression, si je lui demande d’imprimer 10 pages il me les imprime avec le même numéro!!!

Peut être encore un petit tour de magie???

Merci

“si je lui demande d’imprimer 10 pages”, tu veux dire 10 fois la même page ?
Tu peux me dire quelle méthode tu emploies ?

Il s’agit en réalité d’un imprimé type, pour lancer l’impression je fais “Ctrl+P imprimer Nbre de copie=10” et la ça m’imprime 10 fois la même (normal)

Et quand je clique sur l’onglet imprimer là çà incrémente…

Rien de bien génant donc mais quand je les imprime en générale c’est par 50.

donc si tu as une solution je suis preneur

Pas de solution “en l’état”, mais si tu acceptes de modifier un petit peu ton comportement utilisateur, à savoir cliquer sur un bouton spécifique qui figurera dans le coin de la page, on peut associer une macro qui lancera non pas une impression de 10 exemplaires, mais 10 impressions de 1 exemplaire.

Pour le moment, c’est juste une idée …

Tu dois pouvoir faire de la manière suivante :
Dans ta feuille, à l’aide de la barre d’outils Boite à Outils Contrôle, tu crées un bouton.

Sur le bouton, clic droit > propriétés
Tu changes son texte (Caption)
Tu mets PrintObject à False pour ne pas qu’il apparaisse à l’mpression
Tu fermes la fenêtre propriétés

Double clic sur le bouton : la fenêtre de code s’ouvre
tu complètes la fonction de la manière suivante :

Private Sub CommandButton1_Click()
    nb = InputBox("Nombre de copies à effectuer : ", "Impression de la feuille", 1)
    If IsNumeric(nbS) Then
        For i = 1 To Val(nb)
            Me.PrintOut
        Next
    End If
End Sub

Ca devrait donner ce que tu attends

Edit : pour tester, il faut penser à désactiver le mode création (1e icone de Boite à Outils Contrôle)

Merci beaucoup, ça fonctionne à merveille!!!
j’ai un autre défi pour toi si ça t’interesse compte tenu que tu as l’air de toucher ta bille dans excel…

Je complète tous les jours mon stock et j’édite des fiches par produit. aujourdh’ui je fais la saisie manuelle des champs à remplir. je souhaiterais faire ça en automatique.
Si tu as une solution pour ça je suis preneur!!!!

Mercie encore

Il faudrait donner un peu plus de précisions
Ca te permettra de récupérer plusieurs propositions de solutions et de choisir ensuite celle qui te convient le mieux

J’ai deux fichiers: “l’encours” et “les fiches suiveuses”.
Les fiches suiveuse sont des imprimés type par produit et l’encours est l’image de mon stock.
Chaque fois que je reçoit de la marchandise je saisie une ligne de l’encours par ligne de commande donc par produit.
A chaque ligne d’encours correspond 1 produit et donc une fiche suiveuse. L’mprimé de la fiche suiveuse est toujours le même et les champs à remplir toujours au même endroit…
Grace à un CONCATENER et une recherche verticale, j’affiche en bout de ligne un lien hypertexte qui me permet d’ouvrir la fiche suiveuse par produit.
Je fais ensuite un copier coller des information de ma ligne d’encours dans la fiche suiveuse et ce ligne par ligne.
ça représente une trentaine de ligne par jour ce qui n’est pas énorme mais la multiplication du risque d’erreur m’ennui et puis si je peux gagner du temps…
Si il te faut des précision ou que ce n’est pas bien clair, je suis là!!

Dans un premier temps, tu peux essayer de crer une macro par enregistrement automatique

  • tu te mets sur le premier champ à recopier de la ligne d’en cours à traiter
  • tu fais Outils > Macro > Nouvelle Macro
  • tu nommes et tu valides
  • tu fais toutes tes opérations de copier coller
  • tu arrêtes la macro par Outils > Macro > arrêter

Pour les fois suivantes, il devrait suffire de se positionner au bon endroit et de faire Outils > Macro > executer

Ca ne va certainement pas marcher à 100% du premier coup, mais on peut ensuite faire évoluer

j’ai executer la manip, le souci est pour le changement de ligne: pas de saut de ligne et je pense qu’il me faut une condition de fin pour executer la macro parce que si je met un système qui permet d’incrementer les lignes, il faudra une condition de fin…

En tous cas merci pour ton aide

Je pensais que tu voulais un truc pour travailler ligne par ligne
C’est possible de l’étendre à toute une sélection, mais pas en automatique

Je n’ai aucune idée du nombre de lignes que génère la macro en automatique.
Si ca ne fait pas trop, tu la mets en ligne, on te dira comment la modifier.

Si trop volumineux, je peux te donner mon adresse mail par MP

Si ça ne te dérange pas je veux bien ton adresse mail, je t’envoie les fichier avec une explication sur le fonctionnement…

je te l’envoie par MP

Bonjour, j’ai retranscris la même formule mais chaque fois que je fais un aperçu avant impression cela m’avance le compteur.
Comment rectifier le tir?
Cordialement,

Normal : l’aperçu est une impression, donc l’évènement est déclenché.
Et à ma connaissance, il n’y a pas moyen de savoir quel type d’impression est demandé (aperçu ou printer).

Fais une recherche sur Google : je crois me rappeler qu’il y a un article qui parle plus ou moins d’un cas comme celui-là
La seule solution consiste à surcharger la commande aperçu avant impression, de lui faire positionner une variable globale, puis de tenir compte de cette variable dans le Before_print pour annuler ou non l’évènement.

Edit :
J’ai retrouvé le lien en question
http://www.excelabo.net/excel/imprimerapercu.php
Edité le 02/02/2008 à 21:05