XL 2021 amélioration ludique VBA

thibaut1306

XLDnaute Nouveau
Bonsoir tout le monde

J'ai réalisé un tableau qui est fonctionnelle pour l'utilisation que je souhaite en faire. Cependant je souhaiterais le rendre plus ludique afin que mon assistante ne perde pas de temps dans la saisie des factures. Serait-il possible d'ajouter une page de garde dans laquelle il y aurait des éléments VBA de saisit et ces informations saisies viennent directement s'insérer dans les différents onglet et tableau.
  1. tout d'abord elle saisit ou sélectionne le numéro d'affaire. Si elle doit saisir une nouvelle affaire cela vient compléter la colonne "N° affaire" dans le tableau de la feuille LISTING COMMANDE sinon elle sélectionne la référence existante dans la colonne N°affaire de la feuille LISTING AFFAIRES
  2. ensuite elle saisit ou sélectionne le numéro de commande -> si nouvelle commande elle doit indiquer le montant de la commande -> cela vient compléter les colonnes du tableau LISTING COMMANDE (colonne n° commande et montant de la commande). Si commande déjà existante elle sélectionne la commande existante dans la colonne N°commande de la feuille LISTING COMMANDES
  3. Enfin elle saisit le numéro de facture et son montant et cela vient a la suite dans la feuille facture

c'est un petit défi que je propose, je ne m'en sors vraiment pas seul bcp trop novice en VBA. Malgré tout j'aimerais vraiment simplifier la tache de mon assistante. Elle vous en sera éternellement reconnaissante ainsi que moi ;)

je vous ai joint l'excel fonctionnelle et qui permet d'illustrer mon propos. et ci-dessous une capture d'ecran de ce que je souhaite pour rendre ludique l'utilisation de ce fichier.
1682782884292.png

La fonction effacer permet de remettre a 0 tous ce qui a été inscrit, la fonction enregistrer permet d'inscrire au bons endroit les informations sur la feuille facture, et le bouton vérification permet simplement de passer sur la feuille validation facture pour voir si la ligne enregistrer a bien été intégré (c'est un gadget dont je peux me passer )

d'avance merci de votre aide si trop complexe ou pas clair ce n'est pas grave le résultat est déjà satisfaisant en l'état
a très vite je l'espère
 

Pièces jointes

  • VALIDATION FACTURES TPICARD MACRO.xlsm
    25.7 KB · Affichages: 12

thibaut1306

XLDnaute Nouveau
Bonjour

il n'y a aucun code à améliorer dans ton fichier.. puisqu'il n'y a pas de code du tout...?
Oui je suis complètement débutant en vba je voudrais que justement on m’oriente j ai regardé les vidéos du site mais en fait je ne sais même pas par quelle bout le prendre

Si vous pouviez me dire l’es fonctions qui se rapproche de ma demande peut être avec ça je pourrais tenter une rédaction


Merci pour votre retour
 

vgendron

XLDnaute Barbatruc
hello
déjà, il faut modifier tes feuilles pour éviter de charger inutiliement la feuille (exemple des MFC qui sont sur la feuille complète..)

1) utiliser les tables structurées et leur donner des noms "t_factures"; "t_commandes"
2) appliquer les MFC seulement aux tables
3) supprimer les lignes vides
4) déplacer les listes de choix dans une feuille spécifique "Listes"
ces listes servent donc à alimenter les listes de validation

maintenant que le classeur en lui meme est "propre", on peut définir un formulaire pour afficher/modifier/ajouter des données dans ces tables structurées (=ListObjects en vba)

il faut donc définir à quoi sert ton formulaire, et comment==> permet de choisir les controls qui vont bien.

Au lieu des Listbox que tu as placées, il faut mettre des Combobox qui te permettent de selectionner parmi une liste prédéfinie (tu peux aussi t'en servir pour saisir un nouveau numéro) ==> à priori pas besoin de ton textbox "nouveau numéro"
pour savoir quel control sert à quoi, regarde sur ce site plutot bien fait

en PJ, ton fichier modifié avec un début de code commenté pour te montrer le chargement des combobox
 

Pièces jointes

  • VALIDATION FACTURES TPICARD MACRO.xlsm
    31.2 KB · Affichages: 4

thibaut1306

XLDnaute Nouveau
hello
déjà, il faut modifier tes feuilles pour éviter de charger inutiliement la feuille (exemple des MFC qui sont sur la feuille complète..)

1) utiliser les tables structurées et leur donner des noms "t_factures"; "t_commandes"
2) appliquer les MFC seulement aux tables
3) supprimer les lignes vides
4) déplacer les listes de choix dans une feuille spécifique "Listes"
ces listes servent donc à alimenter les listes de validation

maintenant que le classeur en lui meme est "propre", on peut définir un formulaire pour afficher/modifier/ajouter des données dans ces tables structurées (=ListObjects en vba)

il faut donc définir à quoi sert ton formulaire, et comment==> permet de choisir les controls qui vont bien.

Au lieu des Listbox que tu as placées, il faut mettre des Combobox qui te permettent de selectionner parmi une liste prédéfinie (tu peux aussi t'en servir pour saisir un nouveau numéro) ==> à priori pas besoin de ton textbox "nouveau numéro"
pour savoir quel control sert à quoi, regarde sur ce site plutot bien fait

en PJ, ton fichier modifié avec un début de code commenté pour te montrer le chargement des combobox
Bonjour

un grand merci a toi je pense avoir compris ce que tu as fait pour les combobox. Du coup j'ai en effet supprimer les textbox.
j'ai ajouter un peu de code juste pour lancer a l'ouverture de l'excel l'interface de VBA et un element pour l'ajuster a l'ecran ... mais déjà quand j'ouvre l'excel ca ne se lance pas et je voulais savoir une fois que nous avons utilisé quitter comment réouvrir sans aller dans l'onglet developeur le userform (c'est un outil pour mon assistante il faut que ce soit le plus simple possible)

Ensuite avec le bouton vérification je veux juste afficher la page VALIDATION facture afin de regarder si l'enregistrement a bien eu lieu mais j'ai une erreur qui s'affiche que je ne comprends pas

1682866974762.png


Enfin je ne veux pas abuser je suis désolé mais je ne sais vraiment pas par ou commencer créer l'enregistrement des informations dans les tableau des feuilles VALIDATION FACTURE et LISTING COMMANDE les informations. qui plus est dans la feuille LISTING COMMANDE je veux ajouter une ligne seulement si le numéro de commande ou d'affaire n'existe pas déjà.

d'avance merci de votre temps. Je vous joins le fichier en cours de travail
 

Pièces jointes

  • VALIDATION FACTURES TPICARD MACRO (1).xlsm
    28.2 KB · Affichages: 3

thibaut1306

XLDnaute Nouveau
J'ai trouvé plusieurs réponses a mes question reste le plus dur a savoir enregistrer les infos
J'ai vraiment besoin d'un coup de main
voici le dernier fichier en cours d'amélioration
merci d'avance
 

Pièces jointes

  • VALIDATION FACTURES TPICARD MACRO (1).xlsm
    31.2 KB · Affichages: 6

vgendron

XLDnaute Barbatruc
il faut préciser plusieurs choses

est ce que un numéro de commande peut servir à plusieurs numéros d'affaires
si oui==> on laisse l'alimentation des combo telle quelle
si non==> il faut modifier l'alimentation du combo "NumCommande" en fonction de la selection du combo "NumAffaire"

est ce qu'un numéro de facture peut servir pour plusieurs affaires/ commandes ?

pour ton bouton "vérifications" qui a disparu dans la dernière version; quel intérêt?? tu veux basculer sur une feuille pour vérifier l'enregistrement, mais ton formulaire est affiché plein écran (tu ne verras donc rien)

pour associer du code au bouton, il faut utiliser l"évènement _click du bouton
private sub Nombouton_click()
 

thibaut1306

XLDnaute Nouveau
il faut préciser plusieurs choses

est ce que un numéro de commande peut servir à plusieurs numéros d'affaires
si oui==> on laisse l'alimentation des combo telle quelle
si non==> il faut modifier l'alimentation du combo "NumCommande" en fonction de la selection du combo "NumAffaire"

est ce qu'un numéro de facture peut servir pour plusieurs affaires/ commandes ?

pour ton bouton "vérifications" qui a disparu dans la dernière version; quel intérêt?? tu veux basculer sur une feuille pour vérifier l'enregistrement, mais ton formulaire est affiché plein écran (tu ne verras donc rien)

pour associer du code au bouton, il faut utiliser l"évènement _click du bouton
private sub Nombouton_click()
 

thibaut1306

XLDnaute Nouveau
il faut préciser plusieurs choses

est ce que un numéro de commande peut servir à plusieurs numéros d'affaires
si oui==> on laisse l'alimentation des combo telle quelle
si non==> il faut modifier l'alimentation du combo "NumCommande" en fonction de la selection du combo "NumAffaire"

est ce qu'un numéro de facture peut servir pour plusieurs affaires/ commandes ?

pour ton bouton "vérifications" qui a disparu dans la dernière version; quel intérêt?? tu veux basculer sur une feuille pour vérifier l'enregistrement, mais ton formulaire est affiché plein écran (tu ne verras donc rien)

pour associer du code au bouton, il faut utiliser l"évènement _click du bouton
private sub Nombouton_click()
Voici les précisions demandé
Non un numéro de commande une affaire. Je suis d accord avec votre remarque
Un numéro de facture ne peux correspondre qu’à une seule commande. Attention en revanche une commande peux avoir plusieurs factures associées
J ai supprimé ce bouton dans la dernière version il n’avait que peu d’intérêt et qui plus est en plein écran je ne vois rien comme vous dite
Pour le bouton j ai trouvé en effet la démarche j en ai d’ailleurs créé un qui permet de lancer le userform depuis la feuille Excel

Merci de votre aide
 

thibaut1306

XLDnaute Nouveau
Voici les précisions demandé
Non un numéro de commande une affaire. Je suis d accord avec votre remarque
Un numéro de facture ne peux correspondre qu’à une seule commande. Attention en revanche une commande peux avoir plusieurs factures associées
J ai supprimé ce bouton dans la dernière version il n’avait que peu d’intérêt et qui plus est en plein écran je ne vois rien comme vous dite
Pour le bouton j ai trouvé en effet la démarche j en ai d’ailleurs créé un qui permet de lancer le userform depuis la feuille Excel

Merci de votre aide
bonsoir

je suis désolé de relancer mais je ne m'en sors vraiment pas pourriez vous svp me donner un coup de pouce
un début de fonction ou de trame afin de me debloquer
je ne sais pas par quel bout prendre le problème

d'avance merci
 

Discussions similaires