XL 2016 Facture en automatique

Dydou76

XLDnaute Occasionnel
Bonjours a tous,

j'ai un programme que j'ai créer (stockEPI) qui possèdes un onglet par type d'EPI (Accressoire,Casque,Gant etc...). J'ai vu une video qui explique comment faire une facture en automatique (
) mon souci c'est que ça fonctionne quand je fait ce qu'il y a sur cette video mais qu'avec un seul onglet (Accessoire) mais je voudrai que la macro vérifie tout les onglet afin de renseigner ma facture. J'ai fait plusieurs tantative mais sans résultat. Donc je fait appel a vous pour m'aider a trouver si vous voulez bien.
Je vous laisse regarder la video et je vous joint une demo de mon programme.

Merci d'avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Denis

Ah c'est pour voir si tu suis et si tu es en mesure d'ajuster !!! ;)
Mais sinon oui je pense que c'est une solution assez efficace et simple à mettre en oeuvre, une bonne idée comme tu dis !

Avant (v05) dans Update_Stock_and_Print_PDF
VB:
'RAZ Pour les commentaire et stock précédent
WSBDD.Range("H2:I1000").ClearContents

For Each CellBDC In RngBDC
    If CellBDC <> "" Then
    'Pour Info Stock Précédent et Commentaires (peut-être supprimé après tests) :
        WSBDD.Range("I" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1)
        WSBDD.Range("H" & CInt(CellBDC) + 1) = CInt(CellBDC.Offset(0, 4)) & " Commandé " & CellBDC.Offset(0, 3) & " le " & Format(Date, "DD/MM/YYYY")
    'Mise à jour BDD Stock :
        WSBDD.Range("F" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1) + CInt(CellBDC.Offset(0, 4))
    End If
Next CellBDC

Maintenant dans v06.01 : (j'avais zappé cette partie là à décaller pour le nouveau champs)
VB:
'RAZ Pour les commentaire et stock précédent
WSBDD.Range("I2:J1000").ClearContents

For Each CellBDC In RngBDC
    If CellBDC <> "" Then
    'Pour Info Stock Précédent et Commentaires (peut-être supprimé après tests) :
        WSBDD.Range("j" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1)
        WSBDD.Range("i" & CInt(CellBDC) + 1) = CInt(CellBDC.Offset(0, 4)) & " Commandé " & CellBDC.Offset(0, 3) & " le " & Format(Date, "DD/MM/YYYY")
    
    'Mise à jour BDD Stock :
            WSBDD.Range("F" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1) + CInt(CellBDC.Offset(0, 4))
    End If
Next CellBDC

Ci-joint la v06.01 avec ce fix
Le reste était bon dans les UserForms ? Car le développement c'est une chose, mais la recette utilisateur est primordiale !!!

Bonne journée
@+Thierry
 

Pièces jointes

  • XLD_Dydou76_Stock_EPI_demo2_v06.01.xlsm
    199.2 KB · Affichages: 29

Dydou76

XLDnaute Occasionnel
Bonjour Denis

Ah c'est pour voir si tu suis et si tu es en mesure d'ajuster !!! ;)
Mais sinon oui je pense que c'est une solution assez efficace et simple à mettre en oeuvre, une bonne idée comme tu dis !

Avant (v05) dans Update_Stock_and_Print_PDF
VB:
'RAZ Pour les commentaire et stock précédent
WSBDD.Range("H2:I1000").ClearContents

For Each CellBDC In RngBDC
    If CellBDC <> "" Then
    'Pour Info Stock Précédent et Commentaires (peut-être supprimé après tests) :
        WSBDD.Range("I" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1)
        WSBDD.Range("H" & CInt(CellBDC) + 1) = CInt(CellBDC.Offset(0, 4)) & " Commandé " & CellBDC.Offset(0, 3) & " le " & Format(Date, "DD/MM/YYYY")
    'Mise à jour BDD Stock :
        WSBDD.Range("F" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1) + CInt(CellBDC.Offset(0, 4))
    End If
Next CellBDC

Maintenant dans v06.01 : (j'avais zappé cette partie là à décaller pour le nouveau champs)
VB:
'RAZ Pour les commentaire et stock précédent
WSBDD.Range("I2:J1000").ClearContents

For Each CellBDC In RngBDC
    If CellBDC <> "" Then
    'Pour Info Stock Précédent et Commentaires (peut-être supprimé après tests) :
        WSBDD.Range("j" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1)
        WSBDD.Range("i" & CInt(CellBDC) + 1) = CInt(CellBDC.Offset(0, 4)) & " Commandé " & CellBDC.Offset(0, 3) & " le " & Format(Date, "DD/MM/YYYY")
   
    'Mise à jour BDD Stock :
            WSBDD.Range("F" & CInt(CellBDC) + 1) = WSBDD.Range("F" & CInt(CellBDC) + 1) + CInt(CellBDC.Offset(0, 4))
    End If
Next CellBDC

Ci-joint la v06.01 avec ce fix
Le reste était bon dans les UserForms ? Car le développement c'est une chose, mais la recette utilisateur est primordiale !!!

Bonne journée
@+Thierry
J’essaye de suivre mais c’est plus compliqué que les petits programmes que je fait lol. J’ai cherché pour remplacer la lettre de la colonne concernée mais je ne l’avais pas trouvé celle-là. Je remets les stocks à jour le logos et quelques trucs pour que ce soit aligné et ensuite une notice et présentation au boss. Tu m’a vraiment bien dépanner sur ce coups là. Je vais pouvoir me remettre sur l’autre projet maintenant . Encore mille mercis ça fonctionne bien je n’ai pas eu de Bug pour le moment. J’avais pensé mettre un intitulé en bas de l’userform « catalogue « un peut comme une signature tu pense que ça se fait ?
@+Denis
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Denis, le Forum

Bon alors c'est la meilleure nouvelle de la soirée pour moi ! Je suis content :p

Pour :
J’avais pensé mettre un intitulé en bas de l’userform « catalogue « un peut comme une signature tu pense que ça se fait

Tu peux mettre un logo si tu veux avec un simple Control Image et aussi "signer" discretement dans le Caption du UserForm :

1594754043663.png


Bonne Soirée
@+Thierry
 

Dydou76

XLDnaute Occasionnel
Re Denis, le Forum

Bon alors c'est la meilleure nouvelle de la soirée pour moi ! Je suis content :p

Pour :


Tu peux mettre un logo si tu veux avec un simple Control Image et aussi "signer" discretement dans le Caption du UserForm :

Regarde la pièce jointe 1073203

Bonne Soirée
@+Thierry
Ah oui bonne idée je vais Signer dans le captions c’est pas mal comme idée
Une p’tit question, à tu déjà fait un programme pour tablette ? J’en travaille un mais la tablette que mon patron m’a donné à une version d’excel qui ne prends pas en charge les macros.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re
Pour tablette pas avec Excel VBA non, moi je déploie du Microsoft Dynamics NAV (ou Business Central) par client Web ... pour Tablettes ou Smartphone...

Disons que sur les tablettes ce sera toujours des application Web à privilégier et pour autant que je sâche, Excel avec du VBA en l'état n'en est pas une mais un Windows Client (ou Mac mais avec restriction d'usage) et donc nécessite une installation d'office sur le device (si compliant)
Voili_Voilà

Bonne soirée et bonne présentation, tu nous diras !!
Bien à toi
@=Thierry
 

Dydou76

XLDnaute Occasionnel
Re
Pour tablette pas avec Excel VBA non, moi je déploie du Microsoft Dynamics NAV (ou Business Central) par client Web ... pour Tablettes ou Smartphone...

Disons que sur les tablettes ce sera toujours des application Web à privilégier et pour autant que je sâche, Excel avec du VBA en l'état n'en est pas une mais un Windows Client (ou Mac mais avec restriction d'usage) et donc nécessite une installation d'office sur le device (si compliant)
Voili_Voilà

Bonne soirée et bonne présentation, tu nous diras !!
Bien à toi
@=Thierry
Bonjour Thierry,

et si je prend des tablettes sous windows et non Android, ça pourrai fonctionner ?
j'espère parce que mon programme est presque terminé...

sinon oui je vous dirai ce que devient ce beau programme !!!

@+ Denis
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Denis

Je n'en ai aucun idée, je n'ai pas de tablette perso depuis un bail quand j'avais eu un des premiers ipad et très déçu... Au bureau ils déploient des "Surface Pro" ce sont plus des ordis que des tablettes...

Tu me diras aussi si ca passe bien sur Tablette Windows (avec Office)

@+Thierry
 

Dydou76

XLDnaute Occasionnel
Bonjour Denis

Je n'en ai aucun idée, je n'ai pas de tablette perso depuis un bail quand j'avais eu un des premiers ipad et très déçu... Au bureau ils déploient des "Surface Pro" ce sont plus des ordis que des tablettes...

Tu me diras aussi si ca passe bien sur Tablette Windows (avec Office)

@+Thierry
Ok Thierry, je te tiens au courant merci pour ces infos

@+ Denis
 

Dydou76

XLDnaute Occasionnel
Ok Thierry, je te tiens au courant merci pour ces infos

@+ Denis
Bonjour Thierry, dsl c'est encore moi lol, je voudrait ajouter un txb_prix pour justement mettre le prix de l'article sur la facture, mais je bug j'essai de reproduire la même chose que pour le txb__ajout_quantite mais ça ne fonctionne pas je voulais aussi enlever le blocage de la feuille bon de commande pour laisser la possibilité de modifier la TVA et le prix des articles mais même en mettant un "'" devant les ligne: WSBDC= unprotected Password et WSBDC= protected Password la page est quand même protégé en écriture.
@+Denis
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Dydou76 , le Forum

C'est pas un peu tard dans le concept de ta DataBase de penser au prix... Je te l'avais pourtant signalé LoL :cool:

Pour les Prix ca viendra d'où cette info ? Pour éviter que tu re-viennes demain ou après demain avec " je me suis aperçu d'un petit souci... "

Disons que dans le monde des développeurs "pro" tu t'entendrais dire "Ah ce n'était pas dans le cahier des charges, il va falloir revoir le Devis/Budget" LoL !!!

Bon voici une v07 parce c'est toi !!! Et j'ai aussi réglé le souci de la Protection du "Bon de Commande" dans la foulée...

PS Fait à l'arrache, je te laisse le soin de la recette sur les répercussions sur les Userforms "Stock" et "Ajout" avec ce nouveau paramètre "Prix"

(Pour ne pas tout refaire, le champ prend sa place en BDD à la queue, c'est à dire en colonne "i" alors que sa place "logique" aurait dû être "E" juste après la référence, mais bon c'est le prix de l'erreur de concept au départ, mais ce n'est pas grave... Même sur des logiciel pro sur serveur SQL, au ajoute toujours les champs à la fin, on s'en accomode très bien, sinon on casse tout !)

Bon Week-End
@+Thierry
 

Pièces jointes

  • XLD_Dydou76_Stock_EPI_demo2_v07.00.xlsm
    209.4 KB · Affichages: 36
Dernière édition:

Dydou76

XLDnaute Occasionnel
Bonjour @Dydou76 , le Forum

C'est pas un peu tard dans le concept de ta DataBase de penser au prix... Je te l'avais pourtant signalé LoL :cool:



Disons que dans le monde des développeurs "pro" tu t'entendrais dire "Ah ce n'était pas dans le cahier des charges, il va falloir revoir le Devis/Budget" LoL !!!

Bon voici une v07 parce c'est toi !!! Et j'ai aussi réglé le souci de la Protection du "Bon de Commande" dans la foulée...

PS Fait à l'arrache, je te laisse le soin de la recette sur les répercussions sur les Userforms "Stock" et "Ajout" avec ce nouveau paramètre "Prix"

(Pour ne pas tout refaire, le champ prend sa place en BDD à la queue, c'est à dire en colonne "i" alors que sa place "logique" aurait dû être "E" juste après la référence, mais bon c'est le prix de l'erreur de concept au départ, mais ce n'est pas grave... Même sur des logiciel pro sur serveur SQL, au ajoute toujours les champs à la fin, on s'en accomode très bien, sinon on casse tout !)

Bon Week-End
@+Thierry
Merci Thierry et tu a raison il aurai fallu voir tout ça au cahier des charges mais je ne m'attendait pas a une refonte presque complète de mon projet au moment ou j'ai fait ma première demande lol. Mais je ne regrette vraiment pas tu m'a ouvert les yeux sur pas mal de choses et je t'en remercie encore.
bon weekend @+Denis
 

Dydou76

XLDnaute Occasionnel
Merci Thierry et tu a raison il aurai fallu voir tout ça au cahier des charges mais je ne m'attendait pas a une refonte presque complète de mon projet au moment ou j'ai fait ma première demande lol. Mais je ne regrette vraiment pas tu m'a ouvert les yeux sur pas mal de choses et je t'en remercie encore.
bon weekend @+Denis
le bouton pour protéger et déprotèger la facture est tout simplement génial lol ...... Merci Thierry ;-)
@+Denis
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Denis

Content que ca te plaise, pour le CheckBox Protection/Déprotection, on pourrait aussi le rendre visibe ou pas selon les utilsateurs...

Pour la saisie des Prix, j'ai ajouté en Edit à 13:55 sur la v07 un KeyPress pour pouvoir saisir la virgule sur un pavé numérique FR, car sinon il envoit le point ...

VB:
Private Sub TextBoxPrix_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If (KeyAscii > 47 And KeyAscii < 58) Then
        KeyAscii = KeyAscii
    ElseIf KeyAscii = 46 Then KeyAscii = 44 '<<< Transforme le Point en Virgule pour les configuration FR
    Else
        KeyAscii = 0
    End If
End Sub

Tu me diras si ca fonctionne bien chez toi.

@+Thierry
 

Dydou76

XLDnaute Occasionnel
Re Denis

Content que ca te plaise, pour le CheckBox Protection/Déprotection, on pourrait aussi le rendre visibe ou pas selon les utilsateurs...

Pour la saisie des Prix, j'ai ajouté en Edit à 13:55 sur la v07 un KeyPress pour pouvoir saisir la virgule sur un pavé numérique FR, car sinon il envoit le point ...

VB:
Private Sub TextBoxPrix_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If (KeyAscii > 47 And KeyAscii < 58) Then
        KeyAscii = KeyAscii
    ElseIf KeyAscii = 46 Then KeyAscii = 44 '<<< Transforme le Point en Virgule pour les configuration FR
    Else
        KeyAscii = 0
    End If
End Sub

Tu me diras si ca fonctionne bien chez toi.

@+Thierry
ok je te tien au courant.
 

Dydou76

XLDnaute Occasionnel
ok je te tien au courant.
Bonjour Thierry,

Le programme à été donnée au services compétant et c'est une satisfaction général.
Même le boss m'a félicité (je lui ai quand même dit que je m'était fait aider) donc je tiens vraiment a te remercier encore pour tes idées et ton aide qui m'a permis de fournir un travail aussi rapidement et efficacement (si j'avait été seul j'aurai mis des mois à trouver les codes et a ajuster tout ça).
Bonne continuation et au plaisir d'échanger a nouveau avec toi.
Thierry je te souhaite "que du bonheur"....

@+Denis
 

Discussions similaires

Statistiques des forums

Discussions
312 234
Messages
2 086 475
Membres
103 226
dernier inscrit
smail12