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

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

  • Suvi de stock pharmacie.xls
    245.5 KB · Affichages: 514

ChTi160

XLDnaute Barbatruc
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
 

JM27

XLDnaute Barbatruc
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.
 

JM27

XLDnaute Barbatruc
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
 

Ghinzho

XLDnaute Nouveau
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
 

Discussions similaires

Réponses
18
Affichages
1 K
Réponses
2
Affichages
2 K

Statistiques des forums

Discussions
315 095
Messages
2 116 169
Membres
112 676
dernier inscrit
little_b