Compteur

alutili

XLDnaute Nouveau
Bonjour,
j'essaie d'ajouter un compteur sur une feuille correspondant à une facture de telle sorte qu'à chaque ouverture ou mieux qu'à chaque impression, le n° de la facture change et passe à n+1
avez-vous des idées à ce sujet ?
merci à tous
LA
 

Papou-net

XLDnaute Barbatruc
Re : Compteur

Bonsoir alutili, BrunoM45,

L'idée d'incrémenter un n° de facture à chaque ouverture du fichier, à fortiori à chaque impression, ne me paraît pas judicieuse. Je m'explique :

Si tu es amené à ouvrir plusieurs fois la même facture, ou à l'imprimer plusieurs fois, tu vas te retrouver avec un nombre plus ou moins important de documents identiques avec un n° de commande différent.

La meilleure solution me paraît être la création d'une facture vierge enregistrée en temps que modèle (*.xlt) et dans laquelle tu incrémenterais un N° dans le module Workbook_Open. Ce N° serait bien entendu enregistré dans une cellule masquée de la feuille de facturation ou dans une feuille cachée du classeur.

Espérant avoir aidé.

Cordialement.
 

stapsounet

XLDnaute Junior
Re : Compteur

Bonjour,

Je viens de poster une question concernant aussi la numérotation de facture. Bien que différent légèrement, mon problème pourrait trouver sa solution dans la réponse de papou-net... Le hic, c'est que je ne comprend pas tout!
Peux-tu détailler la marche à suivre pour l'incrémentation d'un numéro dans le "WorkBook Open"?

Merci
 

Papou-net

XLDnaute Barbatruc
Re : Compteur

Bonjour,

Je viens de poster une question concernant aussi la numérotation de facture. Bien que différent légèrement, mon problème pourrait trouver sa solution dans la réponse de papou-net... Le hic, c'est que je ne comprend pas tout!
Peux-tu détailler la marche à suivre pour l'incrémentation d'un numéro dans le "WorkBook Open"?

Merci

Bonsoir stapsounet,

Je ne connais pas ton niveau de maîtrise de VBA, aussi je vais détailler comme si tu débutais :

Tu commences par saisir un N° de facture dans une cellule de ta feuille, disons la case A1 par exemple. Tu peux ensuite masquer la colonne A, ou bien mettre la couleur de la police identique à celle du fond de cette cellule (dans les boutons des barres d'outils Excel).

Ensuite, tu lances l'éditeur de macros en appuyant sur ALT + F11.

Dans l'écran qui vient de s'afficher, tu repères la fenêtre Projet - VBAProject (en principe, en haut à gauche).

Tu repères ton classeur dans la liste des projets (ex : VBAProject (Classeur1).

Tu double-cliques sur la ligne ThisWorkbook, et dans la fenêtre principale tu cliques sur la liste déroulante en haut à gauche.

Tu aperçois dans la fenêtre les 2 lignes écrites automatiquement par VBA :

Code:
Private Sub Workbook_Open()
    
End Sub

Il ne reste plus qu'à entrer au clavier la ligne suivante :

Code:
Private Sub Workbook_Open()
Sheets("Feuil1").Range("A1") = Sheets("Feuil1").Range("A1") + 1

End Sub

Et pis c'est tout !

A chaque ouverture, la cellule A1 augmentera automatiquement d'une unité.
Celà suppose, bien entendu, que tu écrives au départ une valeur numérique dans A1. On peut envisager des données alphanumériques, ça complique légèrement la programmation mais ça reste facilement réalisable.

Espérant avoir répondu.

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison