N° de devis automatisé Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
Twister_Tkd
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 21 décembre 2016
Version d'Excel : 2016 FR

Message par Twister_Tkd » 17 juillet 2017, 15:46

Bonjour à tous,

Une fois encore je fais appel à vos lumières concernant un problème de VBA.

Je cherche à créer un modèle de devis automatisé au maximum ; je bute sur un point de détail :

- je souhaiterai incrémenté mon n° de devis par rapport aux précédents déjà créés.
- par convention mon n° de devis est construit comme tel : date du jour (en format annéemois) - n° de devis
Exemple : 1er devis du mois de juillet =
201707-001

Pour se faire, je suis parti du principe suivant :
- Il me faut d'une part récupérer la date du jour sous le format "aaaamm"
- Il me faut récupérer le dernier n° de devis créé
- Puis il me faut concaténer l'ensemble pour obtenir mon n° de devis automatiquement.

J'ai une macro qui m'affiche en feuille 2 - colonne A - la liste des fichiers déjà créés dans un dossier spécifié.
Depuis cette liste une formule m'affiche en colonne B le n° de devis
(Exemple : - Colonne A = 201707-001 - Devis UNTEL / - Colonne B = 001)

Maintenant je souhaiterais qu'en feuille 1, cellule B5, mon n° s'affiche automatiquement (à savoir "201707-002").

Pensez-vous que ma méthode soit la bonne ? Si oui auriez vous un code à me proposer ?
Si non, comment feriez-vous ?

Je vous remercie d'avance pour vos retours et reste à votre disposition si mon problème ne vous parait pas clair.
Avatar du membre
ThauThème
Passionné d'Excel
Passionné d'Excel
Messages : 3'587
Appréciations reçues : 146
Inscrit le : 19 octobre 2014
Version d'Excel : 2010 FR

Message par ThauThème » 17 juillet 2017, 16:16

Bonjour Twister, bonjour le forum,

Peut-être comme ça (si j'ai bien compris) :
Worksheets(1).Range("B5").Value = CStr(Year(Date)) & CStr(Format(Month(Date), "00")) & "-" & CStr(Format(Application.WorksheetFunction.Max(Worksheets(2).Columns(2)) + 1, "000"))
À plus,

ThauTheme


Je suis Charlie
VBA m'éclate, les formules m'ennuient ! Je n'y peux rien c'est comme ça...
T
Twister_Tkd
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 21 décembre 2016
Version d'Excel : 2016 FR

Message par Twister_Tkd » 17 juillet 2017, 17:15

Bonjour ThauThème,

Tout d'abord, je te remercie pour ta réponse.

Ton code à l'air de fonction partiellement ;

Un n° se créé bien automatiquement, sous le bon format.

Toutefois il n'incrémente pas le n° et reste désespérément sur "201707-001".

J'ai créé des fichiers dans mon dossier source :

2017-001 - Devis Machin Test.xlsx
2017-002 - Devis Machin Test.xlsx
2017-003 - Devis Machin Test.xlsx

Je retrouve bien ces 3 fichiers dans ma Feuille 2 ; ma formule en Feuille 2 - Colonne B donne donc les résultats suivants :
B1 = 001
B2 = 002
B3 = 003

Malgré tout, mon n° de devis reste "201707-001".

N'étant pas assez avertis sur le sujet, je ne vois pas où cela pourrait coincer.

Une idée ?

D'avance merci.
Avatar du membre
ThauThème
Passionné d'Excel
Passionné d'Excel
Messages : 3'587
Appréciations reçues : 146
Inscrit le : 19 octobre 2014
Version d'Excel : 2010 FR

Message par ThauThème » 17 juillet 2017, 17:27

Re,
Twister_Tkd a écrit :Une idée ?

Un fichier ?
À plus,

ThauTheme


Je suis Charlie
VBA m'éclate, les formules m'ennuient ! Je n'y peux rien c'est comme ça...
T
Twister_Tkd
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 21 décembre 2016
Version d'Excel : 2016 FR

Message par Twister_Tkd » 17 juillet 2017, 17:41

Et hop, un fichier !

En te remerciant.
Test_devis_type - Copie.xlsm
(26.47 Kio) Téléchargé 54 fois
a
archer
Membre impliqué
Membre impliqué
Messages : 1'245
Appréciations reçues : 98
Inscrit le : 8 avril 2017
Version d'Excel : 2010

Message par archer » 17 juillet 2017, 19:18

bonjour
la macro est bonne
mes il lui des chiffre dans la feuil2 colonne B
A+
Maurice
Avatar du membre
ThauThème
Passionné d'Excel
Passionné d'Excel
Messages : 3'587
Appréciations reçues : 146
Inscrit le : 19 octobre 2014
Version d'Excel : 2010 FR

Message par ThauThème » 17 juillet 2017, 20:39

Bonsoir le fil, bonsoir le forum,

Oui comme le pointe notre Archer il suffit qu'il y ait des numéros dans la colonne B et non du texte...
par exemple, remplace la formule :
=SI(ESTVIDE(A1);"";STXT(A1;8;3))
par :
=SI(ESTVIDE(A1);"";STXT(A1;8;3)*1)
Est là, le code fonctionne...
À plus,

ThauTheme


Je suis Charlie
VBA m'éclate, les formules m'ennuient ! Je n'y peux rien c'est comme ça...
T
Twister_Tkd
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 21 décembre 2016
Version d'Excel : 2016 FR

Message par Twister_Tkd » 18 juillet 2017, 09:54

Bonjour, bonjour,

En effet, ce n'était qu'un problème de format ... Autant pour moi !

Merci pour vos lumières à bientôt pour de nouveaux problèmes !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • Devis automatisé
    par B3NK3I » 17 mai 2016, 10:42 » dans Excel - VBA
    12 Réponses
    1183 Vues
    Dernier message par grisan29
    19 mai 2016, 12:08
  • Création devis automatisé
    par Tapdogs16 » 23 octobre 2019, 17:54 » dans Excel - VBA
    1 Réponses
    92 Vues
    Dernier message par Theze
    23 octobre 2019, 20:30
  • Feuille de DEVIS automatisé
    par elec » 9 février 2017, 00:15 » dans Excel - VBA
    35 Réponses
    1006 Vues
    Dernier message par elec
    11 février 2017, 19:27
  • tableaux de devis automatisé
    par nico59 » 8 septembre 2016, 15:59 » dans Excel - VBA
    1 Réponses
    389 Vues
    Dernier message par nico59
    12 septembre 2016, 19:37
  • Devis
    par AMAU » 29 janvier 2019, 19:21 » dans Excel - VBA
    5 Réponses
    255 Vues
    Dernier message par AMAU
    1 février 2019, 17:43
  • automatisé
    par abdernino » 16 juin 2018, 13:55 » dans Excel - VBA
    33 Réponses
    653 Vues
    Dernier message par dhany
    21 juin 2018, 19:45