Numerotation automatique

Hello tous le monde.

Donc je vient vers vous suite a un probleme que je rencontre sur la numerotation auto.

En faite en surfant sur ce forum j'ai pu trouver divers numerotation auto et une en particulariter me plaiser bien un format 001/2012.

Donc j'ai intergrer le code macro a ma feuille sur ma cellule c2 mais rien ne s'achiffe et ne fonctionne pas en revanche si je la deplace sur ma cellule d2 la tous fonctionne.

Private Sub Workbook_Open()

With Sheets("FACTURE")

If .Range("d2") = "" Then

.Range("d2") = "001/" & Year(Date)

Else

.Range("d2") = Format(Val(Left(.Range("d2"), 3)) + 1, "000") & Mid(.Range("d2"), 4, 20)

End If

End With

End Sub

Pouvais vous me dire pourquoi je n'arrive pas sur ma cellule c2 c'est a cette endroit que j'aurai aimer voir mes chiffre; bien entendu dans mon code je donne bien la bonne valeur c2.

Cordialement a vous tous

127facture.xlsm (70.11 Ko)

Bonjour

Cette macro est à placer dans le module ThisWorkbook et pas dans un module standard

Oups oups

d'accord donc la ca ce complique pour moi lol mais vais bien essayer de trouver ; sinon ou est ce que je trouve module ThisWorkbook?

car pour ma part mon code j'ai ouvert macro en faisant alt f11 et nouvel macro......

Merci bcp

Cordialement

Bonjour

Quand tu as fais Alt + F11 dans la fenêtre en haut gauche tu as le module ThisWorkbook

Cliques 2 fois sur son nom

doubleclick thisworkbook

Yes merci bcp cela fonctionne parfaitement bien.

merci bcp

Re bonsoir

Je revient sur mon sujet de numerotation auto... En faite cela fonctionne parfaitement, seul bémol pour que ca comptabilise je procede ainsi j 'ouvre mon fichier facture origine qui affiche 001/2012 je saisi ma facture puis je fais enregistrer sous en lui donnant 1 nomfichier jusqu'a la tous vas bien, puis je referme le programme; sachant que ultérieurement j'aurais sans doute des factures a saisir je re ouvre mon fichier facture et donc là je me retrouve toujour avec le chiffre 001/2012 sachant que bien entendu lors de la sortie du soft (bien avant) on me demander si je voulais entregistrer le fichier 'facture' je repond non..

Si je veux que ca comptabilise je devrai chaque fois ouvrire le dernier fichier que j'ai enregistrer?

Comment procéderiez vous?

Et si je devais mettre mes divers factures sur chaque feuille le numero ne bouge pas non plus etant donnee que je fais 1 copier de feuil.

Il est vrai que ulterieuremùent j'aimerais evoluer mon fichier, avec feuil de bilan et ainsi de suite... mes etant encore novice avec ce soft j’essaie de persévérai.

Si toutes fois vous auriez des idees a me donnee pour evoluer mon fichier je suis preneur, il est vrai qu'on ma parler de tableau croiser dynamique mais pour le moment j'en suis pas encore la helas.

j'espere que j'ai pu etre precis sur mon sujet si toutes fois ce n'etait pas le cas merci de me le faire savoir.

Cordialement merci.

Bonjour a tous

Petit Up

Bonjour

Pour moi (mais je ne connais pas tout), tu vas être obligé d'enregistrer un fichier avec le dernier numéro

ou (sans garantie)

Pour envisager une autre solution, il faut connaitre sous quel nom tu enregistres tes factures, et à quel endroit ?

Merci bcp Bonzai64 pour ta reponce

Generalement mes factures je les enregistrer sur 1 HD a part du style D:\Backup Freebox\FACTURES\nomclient-ou-date.xls

Apres je c'est pas si c'est mieux d'enregistrer chaque facture = 1 fichier ou faut il rassembler le tous (30 factures) sur 1 seul fichier.

Bien entendu etant donne que je debute je comprend que cela soit galere pour moi mes je cherche vraiment a me simplifier pour le futur.

Cordialement

Bonjour

Cela veut dire quoi

jiro a écrit :

nomclient-ou-date

?

On pourrait compter le nombre de fichier et le numéro serait ce nombre + 1

On trouve un peu partout des exemples de macro pour compter des fichiers dans un répertoire

J'ai même (re) découvert ça https://forum.excel-pratique.com/excel/nombre-de-fichier-dans-les-sous-dossiers-d-un-repertoire-t23998.html

A y penser

En fait vous me posiez la question comment je procédé pour enregistrer mes factures

et nomclient-ou facture voulais dire que une fois ma facture realiser je fais enregistrer sous en lui donnant le nom client (coifffeur-suivi d'une date.xls).

Bonjour

Oui car en marquant "nomclient-ou-date" c'est soit le nom du client soit la date et ce n'est pas la même chose que "nomclient-et-date

On peut envisager de scanner les noms et de vérifier les dates : La plus grande donnera le numéro + 1 (dans le cas où dans ton répertoire tu as des fichiers différents)

Sinon juste le nombre de fichier si que des factures dans ton répertoire

Re okok cela me sempble une bonne idee mais avant tout voila 1 apercu de comment je proceder a l'enregistrement.

excel

Bonjour

Un 1er essai

Private Sub Workbook_Open()
Dim Fs As Object
Dim Chemin As String

  ' Indiques le chemin du dossier de sauvegarde des factures
  Chemin = ThisWorkbook.Path        

  Set Fs = CreateObject("Scripting.FileSystemObject")
  Sheets("FACTURE").Range("d2") = Format(Fs.getfolder(Chemin).Files.Count + 1, "000") & "/" & Format(Date, "yyyy")
End Sub

Yesss

Merci bcp Bonzai64 cela fonctionne parfaitement bien.

Juste 1 petit truc mais la je ne serais le faire

En faite quand je vais enregistrer le fichier ca compte bien, mes si je decide de re editer une nouvel facture faut que je ferme mon fichier et que je le reouvre

Y'aurait' il pas 1 solution avec un bouton ou autre pour passer a facture suivant et la hop par miracle ca fais +1.

J'espere que j'ai pu etre explicite car pas evident pour moi.

Cordialement en vous remerciant d'avance

Bonjour

Il suffit de modifier

Dans le module ThisWorkbook

Private Sub Workbook_Open()
  Numerote
End Sub

Dans un module standard

Sub Numerote()
Dim Fs As Object
Dim Chemin As String

  ' Indiques le chemin du dossier de sauvegarde des factures
 Chemin = ThisWorkbook.Path        

  Set Fs = CreateObject("Scripting.FileSystemObject")
  Sheets("FACTURE").Range("d2") = Format(Fs.getfolder(Chemin).Files.Count + 1, "000") & "/" & Format(Date, "yyyy")
End Sub

il faut penser, mais pas obligatoire, à effacer la page

La 2ème macro il faut l'associer avec un raccourci clavier

Merci bcp

Donc pour l'histoire racourci clavier je connais pas les touche donc comment faut il que je fasse pour effacer ou du moins rafraichir afin d'avoir un nouveau numero pour nouvel facture

j'ai bien mis en place les macro mais apres je vois rien de changer.

Cordialement

Bonjour

Je ne sais pas comment il faut faire pour un raccourci clavier avec XL 2007

Pour 2003

raccourci clavier 001 raccourci clavier 002 raccourci clavier 003

Ensuite Ok et tu fermes la boîte de dialogue "Macro"

Tu peux ensuite appeler la macro "Numerote" en appuyant sur Ctrl et y

Ensuite pour effacer tes données il faut une copie de ton fichier, dans lequel tu auras colorisé les cellules qui doivent être effacées lors d'une nouvelle facture

Merci bcp

je me retouve avec 1 erreur quand je fais ctrl y

mon pc me dit erreur d'execution '28'

espace pile insufisante

et en faisasant debugage je retouve cela

Sub numerote()

Dim Fs As Object

Dim Chemin As String

' D:\Backup Freebox\Boulot\Facture\factures

Chemin = ThisWorkbook.Path

Set Fs = CreateObject("Scripting.FileSystemObject")

Sheets("FACTURE").Range("c2") = Format(Fs.getfolder(Chemin).Files.Count + 1, "000") & "/" & Format(Date, "yyyy")

Application.Run "facture1.xlsm!numerote"

Application.MacroOptions Macro:="numerote", Description:="", ShortcutKey _

:="y"

Application.Run "facture1.xlsm!numerote"

End Sub

Bonjour

C'est quoi cette partie surlignée ?

Sub numerote()
Dim Fs As Object
Dim Chemin As String

' D:\Backup Freebox\Boulot\Facture\factures
Chemin = ThisWorkbook.Path

Set Fs = CreateObject("Scripting.FileSystemObject")
Sheets("FACTURE").Range("c2") = Format(Fs.getfolder(Chemin).Files.Count + 1, "000") & "/" & Format(Date, "yyyy")
Application.Run "facture1.xlsm!numerote"
Application.MacroOptions Macro:="numerote", Description:="", ShortcutKey _
:="y"
Application.Run "facture1.xlsm!numerote"
End Sub

On dirait que ta macro appelle ta macro qui appelle ta macro qui appelle ta macro qui ...........

Rechercher des sujets similaires à "numerotation automatique"