XL 2013 Problème de numérotation

Danyk01

XLDnaute Occasionnel
Bonjour
J'ai toujours mon problème de numérotation.
J'ai une macro qui es t censé fonctionner pour afficher le prochain num. des devis.
mais si je l'actionne le bouton nouveau numéro, ça m'affiche toujours "1" au lieu de 202101...02...03

Merci pour votre aide
Ci-joint les 2 fichiers concernés, il faut peut-être changer les chemins pour essayer
Danyk01
 

Pièces jointes

  • JOURNAL_DEVIS - Copie.xlsx
    12.3 KB · Affichages: 28
  • 02.MATRICE DEVIS-FACTURES ESSAI.xlsm
    459.5 KB · Affichages: 25

Danyk01

XLDnaute Occasionnel
Hello Sylvanu
Ça ne fonctionne pas bien, ça met le nouveau num. mais pas le prochain
Ci-joint la macro que j'ai modifiée selon ta dernière version


Sub ProchainNum()

With Workbooks("JOURNAL_DEVIS.xlsm")

Dim derlig As Long
derlig = Application.CountA("*", [LNumero])
Range("H9").Value = .Sheets("Liste").Range("A" & derlig).Value + 1
End With

End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Ca me semble normal. Vous mettez dans la feuille courante N+1 en H9 , ça c'est ok mais vous ne remettez pas à jour la liste des nombres. Donc je pense qu'il faut rajouter cette mise à jour :
VB:
Sub ProchainNum()
With Workbooks("JOURNAL_DEVIS.xlsm")
    Dim derlig As Long
    derlig = Application.CountA("*", [LNumero])
    .Sheets("Liste").Range("A" & derlig + 1) = .Sheets("Liste").Range("A" & derlig).Value + 1
    Range("H9").Value = .Sheets("Liste").Range("A" & derlig).Value + 1
End With
End Sub
De cette façon la prochaine fois vous aurez bien en dernier N+1 donc en H9 vous aurez N+2 par rapport à aujourd'hui.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai été obligé de sélectionner le fichier en cours pours solutionner le problème avec :
VB:
Sub ProchainNumFA()
    Application.ScreenUpdating = False
    Dim derlig As Long, Numéro As Long
    Workbooks("JOURNAL_DEVIS .xlsx").Activate
    With Workbooks("JOURNAL_DEVIS .xlsx").Sheets("Liste")
        derlig = .Application.CountA("*", [LNumero])
        Numéro = .Range("A" & derlig).Value + 1
        .Range("A" & derlig + 1) = Numéro
    End With
    Workbooks("02.MATRICE DEVIS-FACTURES.xlsm").Sheets("DEVIS").Activate
    Range("H9").Value = Numéro
End Sub
NB: J'ai mis JOURNAL_DEVIS .xlsx au lieu de JOURNAL FACTURES.xlsx car c'était le fichier fourni pour les N°.
Essayez.
 

Pièces jointes

  • 02.MATRICE DEVIS-FACTURES.xlsm
    440.9 KB · Affichages: 4

Danyk01

XLDnaute Occasionnel
J'ai été obligé de sélectionner le fichier en cours pours solutionner le problème avec :
VB:
Sub ProchainNumFA()
    Application.ScreenUpdating = False
    Dim derlig As Long, Numéro As Long
    Workbooks("JOURNAL_DEVIS .xlsx").Activate
    With Workbooks("JOURNAL_DEVIS .xlsx").Sheets("Liste")
        derlig = .Application.CountA("*", [LNumero])
        Numéro = .Range("A" & derlig).Value + 1
        .Range("A" & derlig + 1) = Numéro
    End With
    Workbooks("02.MATRICE DEVIS-FACTURES.xlsm").Sheets("DEVIS").Activate
    Range("H9").Value = Numéro
End Sub
NB: J'ai mis JOURNAL_DEVIS .xlsx au lieu de JOURNAL FACTURES.xlsx car c'était le fichier fourni pour les N°.
Essayez.
Ca fonctionne chez toi?
Je suis sur le point d'abandonner, je propose qu'on commence du début car je ne comprends plus.
J'ai fait 2 fichiers simplifiés avec les mêmes noms et emplacements, peux tu m'expliquer comment tu fais?
 

Pièces jointes

  • 02.MATRICE DEVIS-FACTURES V21.1.xlsm
    15 KB · Affichages: 3
  • JOURNAL_DEVIS.xlsm
    9.4 KB · Affichages: 3

Danyk01

XLDnaute Occasionnel
Oui OK, mais comme tu as pu le constater, j'ai pleins de feuilles dans mon fichier.
ces feuilles me servent à calculer mes devis et dans lesquelles je cherche également mes matériaux et autres issus de fichiers communs externe. donc je ne veux pas trop surcharger le fichier principal en question.
Comme ça mes fichiers sont indépendants, et je peux les archiver comme je veux, année par année.

J'ai essayé ta macro et ça a l'air de marcher.
En cas de problème je te tiens au courant
Merci beaucoup et A+
 

Danyk01

XLDnaute Occasionnel
Bonjour Sylvanu
J'ai un problème que je n'arrive pas à résoudre
Ta dernière macro fonctionne à merveille sur le fichier devis.
J'ai copié la macro et collé dans le fichier facture,
J'ai naturellement changé les chemins et destinations
Pour moi ça devrait marcher, mais je ne comprends pas pkoi ça ne fonctionne pas
Ci-joint la macro :
Les noms des fichiers sont corrects

Peux-tu jeter un coup d’œil? merci

Sub ProchainNumFA()
Application.ScreenUpdating = False
Dim derlig As Long, Numéro As Long
Workbooks("JOURNAL_FACTURES.xlsm").Activate
With Workbooks("JOURNAL_FACTURES.xlsm").Sheets("Liste")
derlig = .Application.CountA("*", [LNumero])
Numéro = .Range("A" & derlig).Value + 1

'.Range("A" & derlig + 1) = Numéro (Je l'ai enlevé car je ne voulais pas le nouveau N° qd j’éteins)
End With
Workbooks("02.MATRICE FACTURE V21.0.xlsm").Sheets("FACTURE").Activate
Range("H9").Value = Numéro
End Sub
 

Danyk01

XLDnaute Occasionnel
Ci-joint un fichier TEST
Quant je clique sur prochain num, je tombe toujours sur 02

(Il faut sûrement changer les emplacement)
 

Pièces jointes

  • 02.MATRICE FACTURE_TEST.xlsm
    101.6 KB · Affichages: 5
  • SOURCE_CLIENTS_TEST.xlsm
    21.4 KB · Affichages: 2
  • JOURNAL_FACTURES_TEST.xlsm
    13.7 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Danyk,
La référence [LTableau] a disparu de JOURNAL_FACTURES_TEST.xlsm, qui plus est la ligne qui écrit le prochain numéro ( .Range("A" & derlig) = Numéro ) est en commentaire.
Sans la référence LTableau, dans ce cas, essayez :
VB:
'*******************************************************
'Procédure permettant de saisir le dernier numéro +1
'******************************************************
Sub ProchainNumFA()
    Application.ScreenUpdating = False
    Dim derlig As Long, Numéro As Long
    Workbooks("JOURNAL_FACTURES_TEST.xlsm").Activate
    With Workbooks("JOURNAL_FACTURES_TEST.xlsm").Sheets("Liste")
        derlig = .Application.CountA("*", [A:A])
        Numéro = .Range("A" & derlig - 1).Value + 1
        .Range("A" & derlig) = Numéro
    End With
    Workbooks("02.MATRICE FACTURE_TEST.xlsm").Sheets("FACTURE").Activate
    Range("H9").Value = Numéro
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 325
Messages
2 087 304
Membres
103 513
dernier inscrit
adel.01.01.80.19