Microsoft 365 Gestion de stock pharmacie (entrée, sortie, graphiques)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MissSara

XLDnaute Nouveau
Bonjour à tous,

Afin d'assurer le suivi de stock d'une pharmacie associatif , j'ai repris un fichier excel proposé sur le forum (ci-joint) pour lequel j'aurais besoin d'effectuer des adaptations/ajouts et ainsi je sollicite votre aide ne maitrisant pas assez Excel :

Dans l'onglet pharmacie centrale

- Créer une alerte péremption à 30 j pour identifier les spécialités dont la date de péremtion est proche

- Créer une alerte péremption à 30 j+ alerte stock pour identifier les médicaments dont le stock mini est atteint et dont la date de péremption est proche

- Dans le menu Gestion de stock, comment faire pour entrer une commande de médicaments dans le stock (mettre à jour les quantités de chaque référence sans devoir à chaque fois modifier la quantité en stock , le stock mini et le stock maxi) ?

Un autre point majeur dont nous aurions besoin est de visualiser graphiquement (histogramme ?) la quantité des sorties de chaque médicament par mois et par destination idéalement. Par exemple pour la spécialite doliprane 300 mg sachet, je voudrais pouvoir identifier rapidement la quantité de ce médicament sortie chaque mois et selon la destination (dans la pharmacie nous fonctionnons en missions : mission A, mission B, mission C). Ce point nous aidera pour établir la commande mensuelle de médicaments.

Vous remerciant pour votre aide,

Bien à vous,
 

Pièces jointes

Bonsoir le Fil , Jean-Marcel
@jean-Marcel
je me suis permis , sans savoir si cela était fait exprès , de modifier la procédure du Userform (Calendrier : PicDateXLD ) ainsi
VB:
Sub Affiche()
Dim X As String, PQ As Double
mois = Month(newdate)
an = Year(newdate)
' ****** date Pâques d'aprés prasadv@md2.vsnl.net.in
PQ = Evaluate("TRUNC(DATE(" & an & ",7,-CODE(MID(""NYdQ\JT_LWbOZeR]KU`"",MOD(" & an & ",19)+1,1)))/7)*7+8")
TB_AN.Value = Format(newdate, "yyyy")
TB_Mois.Value = Format(newdate, "mmmm")
DoEvents
' ****** décalage début de mois
l = lundi(Month(newdate), Year(newdate))
    For N = 1 To 38
        With Controls("CommandButton" & N)
                .Caption = Format(l + N - 1, "d")
                .BackColor = IIf(Weekday(l + N - 1, vbMonday) > 5, &HC0C0FF, &HC0FFFF)
            ' ****** hors période
            If Format(l + N - 1, "mmmm") <> TB_Mois Then
                .Enabled = False
                .Font.Bold = False
                .BackColor = vbWhite
              Else
                 .Enabled = True
                 .Font.Bold = True
                 ' ****** aujourd'hui
                 If l + N - 1 = Date Then '------------------------------Ici
                           .BackColor = vbGreen
                           .ControlTipText = Format(Date, "dddd d mmmm yyyy") & " Aujourd'hui"
                           .SetFocus
                 End If
                 ' ****** féries légaux
                 X = Format(l + N - 1, "ddmm")
                 Select Case X
                        Case "0101"
                               .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Jour de l'an"
                        Case "0105"
                              .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Fête du travail"
                        Case "0805"
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Victoire 1945"
                              .BackColor = &HFFFFC0
                        Case "1407"
                              .BackColor = vbMagenta
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Fête Nationale"
                        Case "1508"
                              .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Assomption"
                        Case "0111"
                              .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Toussaint"
                        Case "1111"
                              .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Armistice 1918"
                        Case "2512"
                              .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Noël"
                        Case Format(PQ + 1, "ddmm")
                              .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Lundi de Pâques"
                        Case Format(PQ + 39, "ddmm")
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Ascension"
                              .BackColor = &HFFFFC0
                        Case Format(PQ + 50, "ddmm")
                              .BackColor = &HFFFFC0
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy") & " Lundi de Pentecôte (reportable)"
                        Case Else
                              .ControlTipText = Format(l + N - 1, "dddd d mmmm yyyy")
                End Select
            End If
        End With
    Next N
End Sub
Car j'ai constaté que comme aujourd'hui nous sommes le 08/10/2024 le CommandButton qui porte le 8 est mis en Vert chaque année au mois d'octobre !
j'ai donc supprimé le Case Format(Date, "ddmm")
à voir donc
Jean marie
 
bonsoir
@ChTi160
Salut Jean-Marie
Ce calendrier à été réalisé par Pierre-Jean et Modeste Gee-Dee
effectivement la date du jour est en vert quelque soit l'année.
Si tu vires dans le select case le Format(Date, "ddmm") tu ne l'as plus.
La meilleure solution serait d'afficher en vert seulement la date du jour dans l'année actuelle.
je vais réfléchir pour modifier.
J'aime bien ce calendrier.
 
bonsoir
@ChTi160
et comme cela qu'en dis tu ?
VB:
Sub Affiche()
Dim X As String, PQ As Double
mois = Month(newdate)
an = Year(newdate)
' ****** date Pâques d'aprés prasadv@md2.vsnl.net.in
PQ = Evaluate("TRUNC(DATE(" & an & ",7,-CODE(MID(""NYdQ\JT_LWbOZeR]KU`"",MOD(" & an & ",19)+1,1)))/7)*7+8")
TB_AN.Value = Format(newdate, "yyyy")
TB_Mois.Value = Format(newdate, "mmmm")
DoEvents
' ****** décalage début de mois
l = lundi(Month(newdate), Year(newdate))
    For n = 1 To 38
        With Controls("CommandButton" & n)
            .Caption = Format(l + n - 1, "d")
            .BackColor = IIf(Weekday(l + n - 1, vbMonday) > 5, &HC0C0FF, &HC0FFFF)
            ' ****** hors période
            If Format(l + n - 1, "mmmm") <> TB_Mois Then
                .Enabled = False
                .Font.Bold = False
                .BackColor = vbWhite
            Else
                 .Enabled = True
                 .Font.Bold = True
                 ' ****** aujourd'hui
                 If l + n - 1 = Date Then
                 .SetFocus
                 .BackColor = vbGreen
                 .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Aujourd'hui"
                 End If
                 ' ****** féries légaux
                 X = Format(l + n - 1, "ddmm")
                 Select Case X
                 Case "0101"
                        .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Jour de l'an"
                 Case "0105"
                       .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Fête du travail"
                 Case "0805"
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Victoire 1945"
                       .BackColor = &HFFFFC0
                 Case "1407"
                       .BackColor = vbMagenta
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Fête Nationale"
                 Case "1508"
                       .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Assomption"
                 Case "0111"
                       .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Toussaint"
                 Case "1111"
                       .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Armistice 1918"
                 Case "2512"
                       .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Noël"
                 Case Format(PQ + 1, "ddmm")
                       .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Lundi de Pâques"
                 Case Format(PQ + 39, "ddmm")
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Ascension"
                       .BackColor = &HFFFFC0
                 Case Format(PQ + 50, "ddmm")
                       .BackColor = &HFFFFC0
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy") & " Lundi de Pentecôte (reportable)"
                 Case Else
                       .ControlTipText = Format(l + n - 1, "dddd d mmmm yyyy")
                End Select
            End If
        End With
    Next n
End Sub
 
Bonjour
Question 1 : ok réalisé
Question 2 : pas compris
Quand tu sélectionnes une destination tu as deux choix : soit tu sélectionnes une autre pharmacie , soit tu sélectionnes un client et la tu devras documenter le nom du client.
en sortie si tu as plusieurs médicaments qui ont la même désignation dans la même pharmacie , tu pourras sélectionner un lot au choix.
Re,
Merci beaucoup déjà 🙂

Et pour le deuxième point , je voudrais réussir à faire en sorte de tracer aussi les médicaments que je sors comme un inventaire ou j'aurais le listing pas juste " Client " mais avec le nom des différents clients pour tracer qu'est ce qui est aller ou et a qui ( si c'est clair ) ( si je sélectionne Client et que j'inscrit en nom par exemple Pharmacie de la Rue , dans le TCD Sorties, j'aurais Destination : Pharmacie de la Rue et non client , et si je fais une sortie pour un autre , ex : Pharmacie de L'avenue, il y aura une autre colonne COMME quand je selectionne pas Client mais les endroit que j'ai incrémenté
Et si possible que le terme client soit modifier par : Receveur ( au lieu de Client )

Encore merci pour ton aide 🙂
1728899543066.png
 
Bonjour @JM27 .
Le classeur fonctionne vraiment de façon impressionnante.
Cependant, pouvez vous augmenter la colonne "N° lot"?
Jusque là c'est tout ce qui manque pour que ce classeur repondre favorablement à un stock médicament.
En effet, peut avoit un medicament X qui a deux dates differentes et deux numéro lot differents, ou meme date d'expiration mais deux numero lot differents mais pas meme numéro lot avec date d'espiration different.
Dans la feuille "PharmacieCentrale", j'ai essayé de renommer la colonne "Libre1" en "N° lot" , et completer les valeurs, mais cela n'a eu aucun impact.
A quoi servent ces autres colonnes (libre1, libre2,...)? Ficher en attache
Mais aussi, il peut etre preferable d'ajouter la possibilité d'inquer la source lorsqu'on entre un medicament en stock; le

Bonjour
Ci joint une version actualisée
Possibilité de transférer entre pharmacie ou annexe de pharmacie des médicaments.
la validation du transfers bug
 
bonjour a toi aussi.
1/Le principe du site est de dire bonjour en entrant sur un fil de discussion.
2/ ca beug cela ne veut rien dire : quand , comment , etc...
quand tu vas chez le médecin tu ne lui dit pas seulement j'ai mal ?
Toutes mes excuses. bonjours chers tous. Avec ce fichier, lorsque j'entre un produit de meme catégorie et de meme nom avec la meme date de peremption, je constate qu'au lieu que ces produits s'additionnent, une autre ligne du meme produit se crée dans la base de donné. aussi lorsque je fait sortir un produit, une autre ligne du produit se crée dans la basse de donné. En ce moment , le TDCsortie ne change pas et reste avec les donné ( éssaie). au niveau du TDCstock, bien que les produits de meme noms s'additionnent, il reste intacte meme quant il y'a sortie de ce produit. cependant, j'aimerais voir si je peux avoir de l'aide pour que:
- lorsqu'il y'entrée d'un meme produit comme paracetamol, au lieu qu'une autre ligne s'ajoute, que tous s'aditionne dans la base de donné .
- lorsqu'il y'a sorti, que cela se fasse sentir dans le TDCsortie au lieu que la ligne soit ajouté dans la base de donné.
 

Pièces jointes

Bonjour
Pour avoir une seule ligne quand on ajoute un produit il faudrait:
Catégorie identique du produit a rentrer par rapport au stock.
Désignation idem
numéro de lot idem
conditionnement idem
nom du fournisseur : idem
nom de la pharmacie de destination : idem
cout unitaire : idem

j'ai volontairement crée une ligne par produit car la probabilité d'avoir exactement le même produit a rentrer et celui qui est en stock est infime. et en plus a priori cela ne pose pas de pb.
Quand on fait une sortie la ligne s'ajoute dans la feuille SortieRegroupées.
en se positionnant sur les feuilles TCD , les TCD se mettent a jour automatiquement ( si il y a des lignes de données dans les feuilles concernées)
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 gestion de stock
Réponses
4
Affichages
352
Réponses
2
Affichages
2 K
K
Réponses
2
Affichages
2 K
K
C
  • Question Question
Réponses
2
Affichages
2 K
Calvinpsn
C
C
  • Question Question
XL pour MAC Aide user Form
Réponses
3
Affichages
1 K
F
  • Question Question
Réponses
9
Affichages
7 K
S
R
  • Question Question
Réponses
4
Affichages
2 K
R
M
Réponses
2
Affichages
2 K
Midolieu
M
B
Réponses
6
Affichages
2 K
Membre supprimé 341069
M
H
  • Question Question
Réponses
2
Affichages
13 K
Retour