XL 2019 Nouveau Numéro

  • Initiateur de la discussion Initiateur de la discussion Danyk01
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Danyk01

XLDnaute Occasionnel
Bonjour à tous
Ma dernière demande d'aide n'étais pas concluent car j'ai plusieurs problèmes avec cette fonction

je m'explique:
j'ai ma matrice dans laquelle je peux faire un devis (zone Devis) ou des factures (zone Facture). voir fichier joint
j'aimerais transformer mon devis en facture, c'est là que le problème commence.

1) pour commencer, si je créé mon devis, pour ne pas abîmer la matrice, je change le numéro, je renseigne le chantier, et je l'enregistre immédiatement dans un dossier cible
sous un nom du client.
2) je ferme la matrice sans enregistrer
3) je retourne sur le fichier enregistré et je continue mon devis jusqu'à son terme.

A partir de là je peux changer l'intitulé devis en facture, pour cela j'ouvre la zone Facture
mais le fichier n'est plus enregistré sous le nom de la "matrice" et la fonction nouveau numéro de facture ne fonctionne plus.
Je pense qu'il faut qu'il ouvre sous le nom du fichier enregistré (mais je ne suis pas sûr)

Workbooks("01.DEVIS_FACTURES MATRICE (2).xlsm").Sheets("DEVIS").Activate

Ci-joint la procédure
'*******************************************************
'Procédure permettant de saisir le dernier numéro +1
'******************************************************

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

'.Range("A" & derlig + 1) = Numéro
End With
Workbooks("01.DEVIS_FACTURES MATRICE (2).xlsm").Sheets("DEVIS").Activate
Range("V24").Value = Numéro
End Sub

2) J'aimerais que quand j'appuie sur le bouton "1.OUVRIR JOURNAL DEVIS" l'intitulé de la case B11 se change en DEVIS
et si j'appuie le bouton "2.OUVRIR JOURNAL FACTURE" l'intitulé de la case B11 se change en FACTURE
Voir pièce jointe "cellule V9 et V24"

Car j'ai mais une formule qui renvoie le nouveau numéro à une cellule V9 ou V24 selon le cas "DEVIS ou FACTURE"

Je sais, je suis un peu compliqué, mais vous m'avez déjà beaucoup aidé et je vous en suis très reconnaissant
Merci d'avance
Dany
 

Pièces jointes

Solution
Et je suis également d'accord avec Phil69970 quand il dit :
Perso j’arrête de répondre aux demandeurs qui posent des questions et qui ne répondent jamais aux différentes réponses des intervenants.

J'ai bien compris que je n'aurais jamais de réponse à mes questions, et j'en ai fait mon deuil (ça tombe bien, c'est bientôt la fête des morts).
Mais sache que ça, c'est encore plus chiant et décourageant que de modifier des macros écrites par une autre personne...


@+
Bonjour à tous

Juste en (re)-passant

Plus compliqué tu meurs !!!

En principe on fait :
-une feuille modèle "Devis" et une feuille modèle "Facture"
-une feuille "Archive devis" et un feuille "Archive facture"
-Une feuille paramètre si besoin et une feuille stat si besoin
-Une feuille sommaire si besoin

Et pas besoin de tout se machin qui à la moindre modification c'est tout un bazar pour que tout fonctionne mais c'est juste mon avis perso.

Bonne chance
Merci Phil69970
Je sais c'est devenu compliqué à force de modifier.
Merci de ton avis
Danyk01
 
Tu as deux macros avec le même nom : OuvrirCls. 🙁
Il faudrait les renommer.

Par exemple OuvrirJournal_Dev et OuvrirJournal_Fac.

Et tu mets les deux macros dans un seul module nommé par exemple Ouvrir_Jounal.



Une proposition en pièce jointe, essayant de garder au maximum ta méthode actuelle, en attendant que tu répondes à l'excellente remarque de Phil69970. 👍
Bonjour TooFatBoy
Merci pour tes conseils, je pense que tu as raison, ça devient compliqué.
Mais dans l'absolu je ne demande pas grand chose, je voudrais juste que dans la formule vba déjà existante, ça prenne en compte le dossier qui est ouvert et non le modèle.

Mais bon je crois que je laisse tomber le plan
Merci quand même
Danyk01
 
En fait, si je comprends, avec ta macro je n'ai plus besoin d'ouvrir devis et facture séparément
Comme je l'ai dit plus haut, je n'ai rien changé à ton fonctionnement.

J'ai juste renommé les deux macros portant le même, et aussi un peu modifié leur code pour qu'il aille chercher le dernier numéro utilisé, calcule le prochain numéro et inscrive ce prochain numéro dans la cellule V9 ou V24.

Pour le calcul du prochain numéro j'ai ajouté un test pour savoir si l'année du dernier numéro utilisé est inférieure à l'année en cours, et dans ce cas repartir avec le numéro 1 (ex. : 202501).

J'ai aussi fait une petite modification dans la macro des boutons [2.PROCHAIN NUMERO ...] pour que, si le journal correspondant n'est pas déjà ouvert, il s'ouvre pour y lire le dernier numéro utilisé puis se referme.
 
Dernière édition:
TooFatBoy, tu es un génie
j'ai enfin compris, c'est exactement ce que je voulais.
Toutes mes félicitations car ce n'est certainement pas évident de reprendre des fonctions déjà existantes.
Mille merci à toi
Danyk01
Mon grain de sel. Il ne te reste qu'à pointer le fil de la solution de @TooFatBoy 😉
à droite du message, il y a 2 flèches (haut et bas)
Bon week-end
 
Et je suis également d'accord avec Phil69970 quand il dit :
Perso j’arrête de répondre aux demandeurs qui posent des questions et qui ne répondent jamais aux différentes réponses des intervenants.

J'ai bien compris que je n'aurais jamais de réponse à mes questions, et j'en ai fait mon deuil (ça tombe bien, c'est bientôt la fête des morts).
Mais sache que ça, c'est encore plus chiant et décourageant que de modifier des macros écrites par une autre personne...


@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
631
Retour