Format n° automatiquement incrémenté

Résolu/Fermé
g@zelle Messages postés 105 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 22 septembre 2022 - 11 oct. 2013 à 10:40
akadev Messages postés 35 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 23 octobre 2013 - 14 oct. 2013 à 14:31
Bonjour,

J'ai chercher sur le forum, mais je n'ai pas trouvé de réponse à ma question. Il y a bien des explications sur la numérotation incrémentée automatiquement de devis /facture, mais cela ne correspond pas à ce que je souhaiterais avoir au final.

Je souhaiterais qu'un numéro de devis se mette automatiquement sous ce format JD2013/10/01
JD = initiale de la personne qui tape le devis, ces initiales peuvent changer selon la personne qui saisit le devis
2013 = année
10 = selon le mois en cours
et 1 est = au 1er devis et ainsi de suite ==> JD/2013/10/02 - JD/2013/10/03

Mais là où ça se complique c'est lorsqu'on arrive au mois suivant, le format doit changer en : JD2013/11/04 automatiquement

J'ai bien lu sur le forum par rapport à ce genre de souhait, qu'il faut passer par une macro, mais je n'y connais rien. Est-ce qu'une personne pourrait m'aider à avancer ? Et me dire si ce que je souhaite est possible, si ça se trouve, c'est peut-être tout simplement pas possible ?????

C'est sûr que ça doit être prise de tête, et que cela doit être du boulot, mais je suis de bonne volonté, et désire apprendre.
A voir également:

5 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 403
11 oct. 2013 à 10:49
Bonjour
Pas facile à comprendre....

1°)au changement de mois, c'est le dernier N° qui doit changer?
alors que dans votre code, le mois est au 2° rang?

2°)par ailleurs le N° des devis recommence t il à 1 à chaque mois ou suit il le nombre de devis?

3°) et enfin comment sont enregistrés vos devis, les n° sont ils incrémentés ligne par ligne en colonne quelque part?, mais en attendant, ça va être n'importe quoi!


Avec ces précisions on devrait pouvoir vous répondre

A vous lire. Crdlmnt
0
g@zelle Messages postés 105 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 22 septembre 2022
11 oct. 2013 à 16:01
Bonjour Vaucluse,

Je te remercie de t'être penché sur ma question, pour te répondre :

1°) au changement de mois, c'est bien le 2ème rang qui change
2°) le N° des devis suit le nombre de devis
3°) les n° sont incrémentés par colonne

Thierry akadev m'a déjà donné une réponse proche à ma question, je pense qu'avec vous tous, je vais sans doute avoir la solution.

@ +
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 082
11 oct. 2013 à 10:58
Bonjour,

en complément de la demande de mon ami Vaucluse que je salue, les initiales de la personne qui tape le devis doivent être quelque part, Excel ne peut deviner qui est derrière le clavier

le numéro de facture doit certainement se trouver sur la même cellule et dans ce cas il faut passer en VBA, sinon il s'agit d'une base de donnée sur laquelle on incrémente la formule vers le bas pour en conserver une trace

tout cela demande explication ou un exemple de fichier qu'il est possible de joindre avec ce lien

https://www.cjoint.com/
0
akadev Messages postés 35 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 23 octobre 2013 11
Modifié par akadev le 11/10/2013 à 12:00
Bonjour,

Le plus simple (d'après moi) est :

Mettre les initiales dans une cellule bien visible où l'utilisateur pourra la changer (exemple : en cellule B2, mettre JD)

Mettre le numéro actuel du devis dans une cellule cachée ou inaccessible facilement par l'utilisateur (exemple : en cellule K2 mettre 5) - c'est une macro qui va modifier automatiquement cette valeur mais il faut l'initialiser à une valeur au départ (ou à modifier en cas de nécessité)

Mettre cette formule là ou doit apparaitre le numéro de devis :
=CONCATENER(B2;ANNEE(AUJOURDHUI());"/";MOIS(AUJOURDHUI());"/";TEXTE(K2;"00"))
(ceci est un exemple avec Excel 2013 en fr, si autre version ou langue il faut peut être adapter, notamment le nom des fonctions à mettre en anglais)

Résultat
-->
Dans la cellule avec la formule on devrait voir apparaitre ce que vous voulez :
ex : chez moi pour l'instant on a JD2013/10/05
(avec JD en cellule B2 et la valeur 5 en cellule K2)

Reste maintenant à incrémenter (faire +1) avec une macro (à mettre sous un bouton par exemple), la macro est :

Sub celluleplusun()
Range("K2").Value = Range("K2").Value + 1
End Sub

Si cette macro est affectée à un bouton, on obtiendra en cliquant dessus le résultat suivant :
JD2013/10/06 , JD2013/10/07, ... et le mois suivant : JD2013/11/08

En 2014, ça marchera aussi, mais il sera peut être nécessaire de réinitialiser la cellule K2 à 1

J'espère que ça marchera chez vous

Thierry
Akadev

------------------------------------------------
Logiciel revisité de Sudoku sur Windows 8 :
http://apps.microsoft.com/windows/fr-lu/app/aka-sudoku-hot-or-cold/2cdc407a-0d44-4772-b125-e0821fd93bca

Jeu match 3 Online sur Windows 8 :
http://apps.microsoft.com/windows/fr-lu/app/aka-match-3-online/49c3c770-e0c9-4f70-a776-4892c6cc5ccd
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 082
11 oct. 2013 à 12:13
Euh! bien compliqué non, si on doit passer par du VBA pourquoi ne pas tout gérer par VBA et bien sur dans un cellule une liste de validation pour les initiales, mais bon attendons que le demandeur apporte des explications
A+
Mike-31
0
akadev Messages postés 35 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 23 octobre 2013 11
Modifié par akadev le 11/10/2013 à 14:46
Compliqué?
2 cellules de valeur, 1 cellule de formule et 1 macro d'une ligne?
Et encore, la macro d'une ligne n'est là que pour ajouter 1 au numéro de devis.

Je ne vois pas personnellement comment faire plus simple pour répondre à cette demande précise (si j'ai bien compris la demande....)
Tu trouves plus simple de faire tout en VBA ?
++
Thierry
0
g@zelle Messages postés 105 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 22 septembre 2022
11 oct. 2013 à 15:38
Bonjour akadev,

Je te remercie pour ta réponse claire et la simplicité de tes consignes. Moi qui ne connais rien au VBA ! J'ai pu effectivement avoir presque ce que je souhaitais. Je te joins ce que j'ai pu obtenir avec quelques précisions et souhaits notés sur le 2ème onglet.
Dis moi si c'est possible.

https://www.cjoint.com/?3JlpMxPLmlj

Je te remercie et à bientôt
0
akadev Messages postés 35 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 23 octobre 2013 11
Modifié par akadev le 11/10/2013 à 17:44
Rebonjour,
Voici le lien pour un fichier Excel qui répondrait à ta demande (si tant est que je l'ai bien comprise)

http://cjoint.com/13oc/CJlryd54bP7.htm

En gros, dans cet exemple, l'initiale du créateur du devis est à mettre en cellule F1
Et les intitulés successifs de devis apparaitront en colonne A à chaque exécution de la macro.
La cellule K2 retient le dernier numéro de devis (à initialiser à 0)
La cellule K3 est une cellule de travail avec la formule suivante :
=CONCATENER(F1;ANNEE(AUJOURDHUI());"/";MOIS(AUJOURDHUI());"/";TEXTE(K2;"00"))


La macro est la suivante
Sub test()
Range("K2").Value = Range("K2").Value + 1
ligne = Range("K2").Value
Range("A1").Offset(ligne, 0).Value = Range("K3").Value
End Sub

En gros, cette macro ajoute 1 au numéro de devis (cellule K2) et place le contenu de K3 (cellule de travail) en colonne A dans la ligne correspondant au numéro de devis (qui vient d'être augmenté de 1)

Dès qu'on l'exécute, elle ajoute donc une ligne à la suite de la dernière avec le formatage que tu souhaiterais... (je n'engage aucune responsabilité sur la bonne execution de ce code en cas d'utilisation professionnelle)

J'espère que cela t'aidera
A ta dispo
Thierry
0
g@zelle Messages postés 105 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 22 septembre 2022
14 oct. 2013 à 13:33
Bonjour Thierry,

C'est excellent ! Depuis le temps que je cherchais sur le forum, j'ai enfin eu la solution (claire, nette et à ma portée), je pense qu'elle va servir à beaucoup d'autres personnes en "perdition" comme moi !
Je vais maintenant essayer de me l'approprier et l'insérer dans mon fichier, et continuer à avancer sur mon projet. C'est trop génial !

Un grand merci.

Bien cordialement.
0
akadev Messages postés 35 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 23 octobre 2013 11
14 oct. 2013 à 14:31
:-)
bonne continuation
Thierry
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 082
11 oct. 2013 à 19:12
Re,

Récupère ton fichier, tout géré par deux ligne de code VBA, en A2 liste de validation pour gérer les initiales, ensuite l'année, le mois et le numéro de facture s'actualise automatiquement. clic sur le bouton

https://www.cjoint.com/c/CJltjJEj7N6
0