je veux un compteur!

  • Initiateur de la discussion Amélie
  • Date de début
A

Amélie

Guest
Bonjour,

Quelqu'un peut-il me dire comment créer un compteur? Je voudrais en fait, à chaque création d'un document standard (une commande) en cliquant sur un bouton que le compteur ajoute 1 à n.

Merci beaucoup!
 
J

Jean-louis

Guest
voici un code en esperant qu'il te convienne

A+

Public Num

Sub Auto_Open()

Sheets("Feuil1").Select
' mettre le N° automatiquement dans une cellule nommée
Range("A1").Select
Set num1 = Sheets("Feuil1").Range("A1")

Num = num1 + 1
Range("A1").Value = Num


End Sub
 
@

@+Thierry

Guest
Salut Amélie, Jean Louis, le Forum


Attention ! "Auto_Open" n'est pas utile dans la demande d'amélie, idem pour les Select... (PS "Auto_Open" est d'ailleurs a oublier au bénéfice de l'évènementielle "Workbook_Open" dans le Provate Module ThisWorkBook)

Une Simple macro comme ceci suffit :

Sub Compteur()
Dim TheBum As Integer
TheNum = Sheets("Feuil1").Range("A1")
TheNum = TheNum + 1
Sheets("Feuil1").Range("A1") = TheNum
End Sub

Qu'il suffira d'assigner au bouton d'Amélie (non non j'ai pas dit que tu avais des boutons !!! lol)

Pour Jean Louis, tu as ta réponse dans le fil Lien supprimé

Bon Aprèm
@+Thierry
 
A

Amélie

Guest
Merci beaucoup à tous les deux.

Est-ce abuser que de vous poser une autre question?
En fait suite à cela, je voudrais créer un historique (type commande sur une feuille et historique sur une autre feuille). A chaque nouvelle commande, je valide, et l'historique se fait automatiquement sur une ligne de la 2ème feuille. Est-ce possible?

Merci beaucoup^beaucoup beaucoup
 
@

@+Thierry

Guest
RE-Salut Amélie, Jean Louis, le Forum

Oui c'est possible, il te suffit de faire une macro dans ce style :


Sub Historique()
Dim LastLigne As Integer

LastLigne = Sheets("Historique").Range("A65536").End(xlUp).Row + 1

With Sheets("Historique")
.Range("A" & LastLigne) = Date
.Range("B" & LastLigne) = Sheets("Commande").Range("D1")
.Range("C" & LastLigne) = Sheets("Commande").Range("F5")
.Range("D" & LastLigne) = Sheets("Commande").Range("B15")
.Range("E" & LastLigne) = Sheets("Commande").Range("C15")
.Range("F" & LastLigne) = Sheets("Commande").Range("D15")
.Range("G" & LastLigne) = Application.UserName
End With
End Sub

Tu noteras que LastLigne représente donc la dernière ligne vide sur la feuille "Historique"...
Que dans cette feuille je fais écrire la Date en Colonne A, pour en B, C, D, E, F des valeur de diverses celllules d'une feuille "Commande"... Puis en bonus je mets le nom du User en colonne G....

Voilà, ce devrait fonctionner pour autant que tu aies bien une feuille nommée ("Historique") et ("Commande")...

Bonne Programmation et Après Midi
@+Thierry

PS si tu as un CommandButton qui lance les macros tu peux aussi faire comme ceci dans le Private Module de la Sheet en Question :

Private Sub CommandButton1_Click()
Compteur
Historique
End Sub
Ce qui aura pour effet de faire exécuter les deux macros dans l'ordre...
 
A

Amélie

Guest
Bonjour Thierry,

C'est une explication qui me convient et une réponse non moins convenable.
Merci beaucoup. Je le mets en application aujourd'hui (quelques modifications suffiront pour l'adapter à mon fichier).

Bonne journée.
Amélie
 

Discussions similaires

Réponses
40
Affichages
1 K
Réponses
4
Affichages
342

Statistiques des forums

Discussions
314 197
Messages
2 107 040
Membres
109 743
dernier inscrit
TROMBATI