Amélioration fichier facturier

Bonjour,
Je suis déjà venu vous solliciter pour une aide de fichier et vous m’avez apporté une grande satisfaction.
Egalement mon employeur !
Ce dernier voudrait que je fasse un récapitulatif des ventes au fur et à mesure de la saisie des factures et des graphiques.
Est ce possible? Personnellement, je ne suis pas un peu perdu et je ne vois pas pour où commencer. A vrai dire comment faire. J’ai fouiné un peu partout et c’est le flou complet. D’autant plus que je n’ose pas faire des manip de peur de foutre en l’air mon fichier existant…C du vécu.
Pour cela , sur le fichier joint , j’ai crée un onglet en rouge (n°09) dans lequel, je souhaiterais que la désignation, U/V, quantite et prix s’enregistre automatiquement pendant la facturation des plusieurs clients. Et comme vous le savez, il s’agit d’un récapitulatif les valeurs doivent se cumuler. Avec, en plus, un bouton Archiver ( comme pour les factures) dont le chemin d’accés est C:\Users\luc\Desktop\Régie\Récapitulatif
En onglet n°10, mes demandes en graphiques.
Voila, c’est tout…Je vous remercie d’avance pour l’intérêt que vous portez à ma demande.
Cordialement
Facturier (modif).xlsm (113,3 Ko)

Bonjour

En regardant ton onglet « Récapulatif Trésor Public » à remplir
Quels sont les critères qui permettront de cibler la bonne partie entre :

Particuliers
Collectivités
Paniers à la collectivité
Professionnels
Associations
Comité d’entreprise

J’ai déjà 2 onglets distincts pour différencier les Professionnels des autres :

Factures Légumes pro
Factures Légumes

Mais c’est insuffisant pour réaliser la bonne répartition sur 6 cibles différentes

Il faut des précisions à ce niveau pour mettre en place un traitement adapté

Merci de nous les donner

Quant au graphique tu peux déjà le réaliser a ta convenance dans un premier temps
Il suffira ensuite d’alimenter ses données source de manière automatisée

Bonjour,
Content de te revoir à mon secours.
Pour les graphiques , pas de soucis , je serais les faire . C’était aussi pour donner une vision du fichier.
Dans l’onglet Factures Légumes pro en A11 tu as code client et B11 une liste déroulante.
Dans l’onglet Professionnels , j’ai changé les codes clients de manière a faire une différence entre les clients.
Est il possible de le faire à partir du n° facture client ?ou du code client ? sauf pour les paniers à la collectivité qui n’ont de facturation et la saisie sera manuelle.
Donc en clair, si c’est possible , je souhaiterais :
Exemple
Facture particulier 01 : 5 kgs carottes, 1 kg poireau
Facture particulier 02: 3 kgs carottes, 1 salade, 0.5 kg poireau
Recapitulatif par kticulier 8 kgs carottes, 1 salade, 1.5 kg poireau
Idem pour les items clients pro.

Facturier (modif)v2.xlsm (113,4 Ko)

En fait , je suis perdu sur ce recapitulatif .
Ou bien le critére code légumes
Cordialement

Donc si je récapitule :

Onglet « Factures Légumes » cible dans onglet « Récapulatif Trésor Public » : « Particuliers »

Onglet « Factures Légumes pro » en fonction du Code Client cellule B11 cible dans onglet « Récapulatif Trésor Public » :

Code Client « Pro xx » : « Professionnels »
Code Client « collec xx » : « Collectivités »
Code Client « CE xx » : « Comité d’entreprise »
Code Client « Asso xx » : " Associations"

Pour « Paniers à la collectivité » saisie manuelle

Je m’interroge sur la chose suivante
Je suppose que les Désignations onglet cible « Récapulatif Trésor Public » correspondent aux articles de chaque facture à ramener donc une ligne Désignation par article à cumuler
Or onglet « Articles » il y a pas moins de 144 éléments différents dont 67 légumes qui potentiellement peuvent venir dans une cible de cet onglet qui pour certaines comme « Comité d’entreprise » n’ont que 3 possibilités (3 lignes « Désignation »)
Cela me semble difficile voir impossible à gérer surtout par un traitement

Comment tu comptes dans ce contexte gérer cet onglet compte tenu de l’insuffisance des capacités des cibles au regard des données distincts potentiels source ?

Difficile de tabler sur une sélection rigoureuse de l’utilisateur en fonction des cibles concernées
Un imper est vite arrivé !!!

Concernant ce nouveau traitement à mettre en place doit il faire l’objet d’un 2° bouton distinct qui sera activé indépendamment du 1° en place onglets « Factures Légumes » et « Factures Légumes pro » ou un seul bouton celui actuel enclenchera les 2 processus l’un après l’autre

Merci de préciser

Dans l’attente de tes précisions

Re,
Je commence par le plus facile,
C ok pour cela
Onglet « Factures Légumes » cible dans onglet « Récapulatif Trésor Public » : « Particuliers »
Onglet « Factures Légumes pro » en fonction du Code Client cellule B11 cible dans onglet « Récapulatif Trésor Public » :

Code Client « Pro xx » : « Professionnels »
Code Client « collec xx » : « Collectivités »
Code Client « CE xx » : « Comité d’entreprise »
Code Client « Asso xx » : " Associations"

j’aimerais un 2° bouton ,stp.

Concernant le récapitulatif, je comprend bien la complexité. Si je te faisais des feuilles indépendantes
Particuliers
Collectivités
Paniers à la collectivité
Professionnels
Associations
Comité d’entreprise
Cela te rendras tu la tache plus facile?

Ce n’est pas une question de tâche plus facile car le traitement pour une option ou une autre restera quasiment identique
Non le souci est quid du résultat obtenu et de l’exploitation que l’on pourra en faire si celui-ci est amputé par manque de capacité
C’est plutôt à ton niveau qu’il faut considérer les choses
Souhaites tu un résultat sans faille ou approximatif
Si tu le souhaites le meilleur possible il ne faut pas être limité dans la cible à alimenter donc l’option d’un onglet pour chacune d’elle est l’idéale
Si un résultat partiel te convient l’onglet en l’état suffit simplement à me dire si on déborde que doit faire la procédure

Ok donc pour 2 boutons

En fonction donc de l’option retenue (partielle ou compléte) transmets moi un fichier en rapport

Voici mon fichier modifié. Donc j’ai fait un onglet pour chaque type client :
Récapitulatif particuliers
Récapitulatif associations
Récapitulatif professionnels
Récapitulatif collectivités
Récapitulatif Comité entreprises

Encore merci

Facturier (modif)v3.xlsm (195,8 Ko)

Ci-joint ma proposition

Onglet « Factures Légumes » ou « Factures Légumes pro » après avoir réalisé la saisie cliques sur le bouton « Recap »
En fin de traitement la cellule B11 est mise sur fond vert afin d’éviter qu’il soit réeffectué par erreur
Pour en réeffectuer un nouveau traitement il faut supprimer ce fond

Va dans l’onglet « Récapitulatif xxxxx » concerné pour apprécier le résultat obtenu

Pour le traitement j’ai uniformisé le départ de chaque tableau dans les onglets de destination les faisant tous commencer à la ligne 6

J’ai constaté une bizarrerie dans ces onglets en colonne G les formules de la ligne 7 à 18 font appel à la fonction « PRODUIT » et à partir de la ligne 19 à la fonction « SOMME » est ce normal ?
A toi de voir

Fais des tests et dis moi

Facturier (modif)v3.xlsm (196,4 Ko)

Bonjour,
Super idée pour le code couleur, je n’aurai jamais eu l’idée. Merci , également pour ton oeil avisé sur mes formules incohérentes : correction faite.
Autrement , super travail de ta part et tu réponds à mes attentes. Le fait d’avoir fait une feuille indépendante pour le récapitulatif va me simplifier la tâche pour gérer tous mes indicateurs.
Je vais essayer de faire la macro pour archiver mes récapitulatifs comme cela se fait pour les factures.
Le seul bémol, c’est depuis mon changement de code client pro:

  • A l’archivage des factures pro , j’ai ce msg " Format code client doit être sous la forme Part ou Pro".
  • Dans l’historique factures, quand il s’agit des pro; le nom, prénom, adresse, cp, ville ne s’enregistrent pas.
    Je sais que c’est dans la macro; je vais essayer de chercher et surtout de trouver. Si je galère, je connais un site sympa où l’on peut trouver des belles personnes pour avoir de l’aide :+1: :+1: :grin:
    Encore 1000 mercis pour ton aide et ta disponibilté.
    Pourrais tu me conseiller sur des livres, des sites…pour que je puisse me perfectionner?
    Cordialement

Merci pour ce retour

Pour ton message

Au départ pour cerner l’onglet à utiliser pour récupérer l’ensemble des paramètres « le nom, prénom, adresse, cp, ville » je me basais sur le début du code client avec ces lignes de code :

Si il commence par « Part »

If codeclient Like « Part* » Then
ongletparam = " Particuliers "

onglet « Particulier »

Si il commence par « Pro »

If codeclient Like « Pro* » Then
ongletparam = « Professionnels »

« Professionnel »

sinon le message que tu obtiens

Il faut agir sur ces lignes :

If codeclient Like « Part* » Then
If codeclient Like « Pro* » Then

pour rajouter d’autre début de code

exemple pour l’onglet à utiliser « Professionnels » :

If codeclient Like « Pro* » or codeclient Like « Asso* » or codeclient Like « collec* » or codeclient Like « CE* » Then
ongletparam = « Professionnels »

Idem pour l’utilisation de l’onglet « Particulier »

« Pourrais tu me conseiller sur des livres, des sites…pour que je puisse me perfectionner?
Cordialement »

La meilleur école c’est soi même en mettant les mains dans le cambouis
Il faut surtout comprendre la manière l’approche la logique à utiliser pour d’une source en entrées obtenir un résultat souhaité en sortie
Les tutos internet ne sont là que pour les mettre en musique
Moi même j’ai eu cette approche : la conception puis la réalisation
Et pour cette 2° phase j’utilise souvent l’enregistreur de macro pour avoir le fil conducteur de la syntaxe des instructions à utiliser ou par mot clé des recherches sur internet à cette fin
C’est la 1° phase la plus importante et délicate le reste n’est qu’écriture

Depuis de nombreuses années j’ai eu cette dynamique sans tuto ni formation de quelque nature que ce soit mais surtout à ne pas hésiter à se salir les doigts avec l’aide ponctuelle d’une main secourable pour les nettoyer

C’est ma conception

A ta disposition si besoin

Je ne pensais pas revenir vers toi mais je rencontre quelques soucis sur 2 points . Et je vais finir d’être plus chauve que je le suis à force de me gratter la tête depuis ton retour de msg.

1° point : en exemple récapitulatif particuliers
je voudrais enregistrer les récapitulatifs dans un dossier comme pour les factures dont le chemin est
« C:\Users\luc\Desktop\Régie\Récapitulatif » .Prendre en valeur F2 (depuis le) et G2 ( la date).
Un bouton est crée sur la feuille Récapitulatif Particuliers
Voici ce que j’écrit
If ActiveSheet.Name = « Récapitulatif Particuliers » Then
chemin = "C:\Users\luc\Desktop\Régie\Récapitulatif "
'chemin = ThisWorkbook.Path & «  »
nom = "Récapitulatif Particuliers " & Range(« F2 ») & " " & Range(« G2 »)
End If
ne marche pas

2° point
Pour la suppression du msg et avoir le nom,adresse, cp et ville dans historique facture, j’ai essayé 3 cas dans Sub Achivage_facture_légumes_pro()

If codeclient Like « Pro* » or codeclient Like « Asso* or codeclient Like « collec* » or codeclient Like « CE* » Then
ne marche pas

If codeclient Like « Pro* » Then
If codeclient Like « Asso* » Then
If codeclient Like « collec* » Then
If codeclient Like « CE* » Then
ne marche pas

If codeclient Like « Pro* » Then
ongletparam = « Professionnels »
Ligne = 0
On Error Resume Next
Ligne = Sheets(« Professionnels »).Columns(« A:A »).Find(What:=codeclient, After:=Sheets(« Professionnels »).Range(« A1 »), LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
client = Sheets(« Professionnels »).Range(« D » & Ligne) & « - » & Sheets(« Professionnels »).Range(« E » & Ligne)
adresse = Sheets(« Professionnels »).Range(« F » & Ligne)
cp = Sheets(« Professionnels »).Range(« G » & Ligne)
ville = Sheets(« Professionnels »).Range(« H » & Ligne)
trouvé = 1
End If
End If
En faisant a chaque fois la saisie pour CE,Asso, Pro, Collectivité
ne marche pas

essai1.xlsm (225,4 Ko)

Pour le message 2° point tu as mis comme ceci :

If codeclient Like « Pro* » or codeclient Like « Asso* or codeclient Like « collec* » or codeclient Like « CE* » Then
ongletparam = « Professionnels »
Ligne = 0
On Error Resume Next
Ligne = Sheets(« Professionnels »).Columns(« A:A »).Find(What:=codeclient, After:=Sheets(« Professionnels »).Range(« A1 »), LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
client = Sheets(« Professionnels »).Range(« D » & Ligne) & « - » & Sheets(« Professionnels »).Range(« E » & Ligne)
adresse = Sheets(« Professionnels »).Range(« F » & Ligne)
cp = Sheets(« Professionnels »).Range(« G » & Ligne)
ville = Sheets(« Professionnels »).Range(« H » & Ligne)
trouvé = 1
End If
End If

Et cela ne marche pas ?
Je suis surpris je regarde demain ainsi que le 1° point et te dis

Bonjour

Lorsque je te proposait de rajouter des débuts de code client c’est sur cette ligne :

If codeclient Like « Pro* » Then

dans cette partie de code :

If codeclient Like « Pro* » Then
ongletparam = « Professionnels »
Ligne = 0
On Error Resume Next
Ligne = Sheets(« Professionnels »).Columns(« A:A »).Find(What:=codeclient, After:=Sheets(« Professionnels »).Range(« A1 »), LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
client = Sheets(« Professionnels »).Range(« D » & Ligne) & « - » & Sheets(« Professionnels »).Range(« E » & Ligne)
adresse = Sheets(« Professionnels »).Range(« F » & Ligne)
cp = Sheets(« Professionnels »).Range(« G » & Ligne)
ville = Sheets(« Professionnels »).Range(« H » & Ligne)
trouvé = 1
End If
End If

Pour obtenir ceci :

If codeclient Like « Pro* » or codeclient Like « Asso* or codeclient Like « collec* » or codeclient Like « CE* » Then
ongletparam = « Professionnels »
Ligne = 0
On Error Resume Next
Ligne = Sheets(« Professionnels »).Columns(« A:A »).Find(What:=codeclient, After:=Sheets(« Professionnels »).Range(« A1 »), LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
client = Sheets(« Professionnels »).Range(« D » & Ligne) & « - » & Sheets(« Professionnels »).Range(« E » & Ligne)
adresse = Sheets(« Professionnels »).Range(« F » & Ligne)
cp = Sheets(« Professionnels »).Range(« G » & Ligne)
ville = Sheets(« Professionnels »).Range(« H » & Ligne)
trouvé = 1
End If
End If

la première ligne de code de cette partie a été enrichie de plusieurs début de code supplémentaire pour considérer tous les codes potentiels dont les paramètres nom, prénom, adresse, cp, ville sont à rechercher dans l’onglet « Professionnels »

J’ai effectué ainsi cette modification je l’ai aussi incluse dans le Traitement d’archive des Devis et tout fonctionne correctement

J’ai modifié le traitement « Enregistrement » pour inclure celui des onglets « Récapitulatif XXXX »

J’ai rajouté à tous ces onglets un bouton relié à cette procédure

Leur enregistrement s’effectue normalement

Je te joint 2 fichiers avec ces corrections

Le premier pour le traitement des factures filtre sur le début du code pour récupérer les paramètres nom, prénom, adresse, cp, ville dans le bon onglet " Particuliers " ou « Professionnels »
Le deuxième pour cette même action de récupération nom, prénom, adresse, cp, ville dans le bon onglet n’utilise plus le début de code mais choisi l’onglet en fonction de celui qui est à la manoeuvre
Si le bouton actionné est celui de l’onglet « Factures Légumes » indépendamment du Code client il utilise l’onglet " Particuliers" pour ramener les paramètres
Si le bouton actionné est celui de l’onglet « Factures Légumes pro » indépendamment du Code client il utilise l’onglet « Professionnels » pour ramener les paramètres

La détermination de l’onglet à utiliser n’est plus en fonction du code client mais de l’onglet « Factures xxxx » utilisé

Reste à savoir si pour toi cette manière d’opérer est correct

J’ai laissé le traitement de l’onglet « Devis » tel quel filtrant sur le début du code pour choisir la bonne source à utiliser

Cette évolution concerne le fichier joint « essai2.xlsm »

Tu utilises celui qui te conviens le mieux

Testes et dis moi

essai1.xlsm (238,5 Ko)
essai2.xlsm (241,0 Ko)

Je te renvoie les 2 fichiers car j’avais oublié de modifier le message pour l’adapter à ces nouvelles dispositions
Aucune incidence sur les traitement mais une information potentielle obsolète

Désolé prends ceux-ci ci-joint en remplacement des précédents

Testes et dis moi

essai1.xlsm (236,8 Ko)
essai2.xlsm (239,0 Ko)

Bonjour,
Merci pour ton retour et ton aide . D’autant plus que tu me proposes 2 fichiers .
Je vais garder la première version . Et tu as eu raison de laisser l’onglet devis tel quel. J’aurais peu d’utilisation de cet onglet.
Je suis vexé sur le fichier que je t’ai joint hier (essai 1) car j’aurais voulu ton avis. Mais comme tout bon débutant , j’ai oublié d’enregistrer la macro …ce n’est que ce matin que j’ai percuté.
Encore mille merci pour ton aide, ta disponibilité et du temps consacré. E t comme je le dis à chaque fois tu fais de moi une personne heureuse.
Maintenant, je vais me lancer et surtout bien me salir les mains dans le camboui avec des petits fichiers . En espérant monter en puissance.
Merci
Cordialement

Merci pour tes propos qui font chaud au coeur
N’hésites pas fonce cet univers est magique
Aide toi de tout ce que tu peux trouver sur la toile cela fourmille de solutions qu’il faudra adapter à ton contexte
N’hésite pas aussi à utiliser l’enregistreur de macro pour obtenir les bonnes commandes la bonne syntaxe moi même je m y réfère de temps en temps
Et puis nous sommes tous là pour te tendre la main et te guider
J’ai été comme toi il y a plus de vingt ans et encore aujourd’hui j’apprends
Rien de tel que de se jeter à l’eau même si elle n’est pas très chaude un bel avenir pour toi très gratifiant

A bientôt sans doute