Comment déclarer une variable comme nulle par défaut

Bonjour,

je m'occupe actuellement de la réalisation d'un fichier d'encodage des commandes pour un groupe d'achat commun.

J'ai donc plusieurs personnes qui passent des commandes auprès de divers fournisseurs.

J'ai réussi à réaliser les feuilles d'encodage des commandes pour les différents fournisseurs (1 fournisseur par feuille), ainsi qu'une feuille reprenant le total des commandes, le tout de manière dynamique par la déclaration de variables

le problème arrive lorsque j'essaye de réaliser une feuille calculant le montant dû par chaque participant (qui est simplement égal à la somme des montants de ses commandes auprès des divers fournisseurs): chaque participant ne passant pas commande auprès de chaque fournisseur, je me retrouve avec des variables non définies dans ma formule.

Pour mes calculs, j'ai attribué à chaque participant un identifiant (ex: g2,g3,...) que je décline pour chaque fournisseur (ex: g2_m, g2_b,g2_d, g3_m,g3_b,g3_d,...).

J'ai en tête l'idée de créer un fichier (ou une feuille ou je ne sais pas trop quoi) qui déclarerait chaque variable égale à zéro par défaut, cette valeur étant supplantée par le montant effectif de la commande auprès de chacun des fournisseurs le cas échéant, mais je ne sais pas si l'idée est valable, et encore moins comment la mettre en oeuvre, d'où mon appel à la communauté.

J'espère que j'ai réussi à vous exposer clairement mon problème, n'hésitez pas à demander toute info complémentaire. Le classeur excel en question est en pièce jointe.

D'avance, merci pour votre aide et/ou vos suggestions.

Cordialement.

Bonjour Krysale

Je je puis me permettre, je pense que tu es parti dans la fabrication d'une usine à GAZ

Alors que l'utilisation de la fonction SOMMEPROD() peut te permettre d'arriver au bon résultat

Sur la feuille "Total paiements individuels" dans la cellule D7, colle cette formule

=SOMMEPROD((MASSIN!D$1:M$1=B7)*(MASSIN!C$2:C$7)*(MASSIN!D$2:M$7))

Cela fait le total de la feuille "MASSIN" pour Marion

Reste à adapter pour les autres feuilles

Attention dans la feuille "FERME DU BECHE" tu as des valeurs avec du texte, ça ne va pas plaire à Excel

A+

Bonjour BrunoM45,

et merci pour ton aide.

Le problème avec ta solution, c'est que j'aurais une formule qui ne sera valable que pour cette semaine, et le problème se reposera donc lors de la prochaine commande. Dans ces conditions, ce serait plus rapide de calculer directement les totaux à la calculatrice à partir de différents feuilles, que de réécrire les formules à chaque fois. Je souhaite pouvoir établir des formules qui resteraient valables qu'il y ait ou non commande auprès des différents fournisseurs (d'où mon idée de définir toutes les variables comme égales à zéro par défaut, et que leur valeur change si il y a effectivement eu passage de commande.

J'ai aussi remarqué les valeurs avec du texte qui ne manqueront pas de poser problème: il faut que je change les habitudes de passage de commande ( ils faisaient ça avec des fichiers word!!).

Re,

Je voudrais que tu nous dise la différence entre

Ta variable "g7_m" dont la formule est : =MASSIN!$H$8

Et ma formule !?

Ou je ne comprends rien à rien

A+

re,

ben, il n'y a aucune différence: je suis bien d'accord avec toi. Le résultat numérique est le même. Sauf qu'avec mon idée, ça ne marche pas, d'où ma demande d'aide; et ça fait donc plein de boulot pour rien! Et qu'avec la tienne, ça fait plein de boulot à recommencer chaque semaine.

Comme quoi, ça progresse !

Une bonne solution devrait être pérenne... ou autant continuer à la calculette lors du passage à la caisse.

Re,

Une bonne solution devrait être pérenne... ou autant continuer à la calculette lors du passage à la caisse.

Tout à fait d'accord avec toi

Pourrais tu nous mettre alors un fichier avec 1 ou 2 semaines différentes pour que je comprenne mieux ton problème et ton idée

A+

272commandes.zip (46.91 Ko)

Re,

j'ai modifié le fichier précédent de manière à simuler une commande d'une autre semaine.

La différence (en dehors des achats qui sont différents en quantité et en nature, mais ça c'est un détail qui ne pose pas problème), c'est que certains acheteurs sont présent une semaine et plus forcément présent la suivante. De même, d'autres y apparaissent alors qu'ils n'y étaient pas la semaine avant.

J'ai donc un groupe d'acheteurs différents chaque semaine qui passe commande auprès de certains ou tous les les fournisseurs.

J'ai la liste de tous les acheteurs potentiels, mais je ne peux pas faire des tableaux les reprenant tous (tableaux trop grands d'où risques accrus d'erreurs d'encodage, et pas pratique car ils doivent pouvoir être imprimés en une page reprenant uniquement les commandes en cours).

Mon idée, c'était d'établir pour chaque acheteur une formule sommant un achat potentiel auprès de chaque fournisseur. Par défaut, la valeur de cet achat aurait été égal à zéro, sauf en cas d'achat effectif.

Mais de toute façon, cette idée est foireuse, car ça obligerait à redéclarer les variables utilisées chaque semaine, et je doute que la plupart des utilisateurs potentiels du fichier en soient capable (ils ne doivent pas non plus devenir dépendants de mes interventions).

Au delà de plus de facilités pour l'encodage et l'envoi des commandes auprès des fournisseurs, le but était aussi de désengorger la passage à la caisse, celui-ci étant actuellement exagérément long à mon goût à cause de tout les calculs qu'ils doivent réaliser (bref, ce serait la cerise sur le gâteau, quoi!). Mais ça devrait déja aller beaucoup mieux avec les feuilles que j'ai réalisées et qui reprennent les sous-totaux individuels auprès de chacun des fournisseurs.

De fait, une belle usine à gaz, comme tu disais...

Bonsoir Krysale,

Tu trouveras ci-joint le fichier selon ton modèle initial, mais selon la méthode que je vois

Au total 10 noms pour définir des zones auto-extensibles grâce à la fonction DECALER()

A toi de nous dire

A+

Ouah: ça a l'air d'être tout-à-fait ça ! génial ! Merciii

Il ne me reste plus qu'à comprendre comment tu as fait de manière à pouvoir le remettre en oeuvre pour d'autres fournisseurs.

Je n'ai rien compris sur les 10 noms et zones extensibles. Il faut dire aussi que je ne connais pas encore la fonction decaler()


Ok, je crois que j'ai compris pour les 10 variables et les zones extensibles.

Si je comprends bien, il suffit de mettre à jour les variables simplement en sélectionnant les différentes zones extensibles chaque semaine, et le reste se fait tout seul.

C'est bien ça?

En testant, je me rends compte que c'est encore mieux que je croyais de prime abord: pas besoin de redéfinir les zones extensibles chaque semaine, il le fait tout seul!

Et si je veux ajouter un nouveau fournisseur, il me suffit de créer 3 nouvelles variables ListeNoms_nouveau fournisseur, ListePrix_nouveau fournisseur, et ListeQt_nouveau fournisseur

puis de faire une nouvelle colonne en page Total paiements individuels et la formule pour le total de corinne chez ce fournisseur par exemple (1ère de la liste) serait

=SOMMEPROD((ListeNoms_nouveau fournisseur=$B2)*(ListePrix_nouveau fournisseur)*(ListeQt_nouveau fournisseur))

C'est bien ça? Je n'ai pas loupé un truc?

En tout cas, c'est du beau boulot ! Un tout grand merci, car je n'y serais jamais arrivé seul

Re,

Oui c'est bien ça, mais il faut bien connaitre l'utilisation de la fonction DECALER()

A+

Mille merci pour ton aide précieuse.

J'ai réussi à marquer le sujet comme résolu.

Je te souhaite une très bonne soirée.

A+

Rechercher des sujets similaires à "comment declarer variable comme nulle defaut"