Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Excel et VBA

Alkp

XLDnaute Nouveau
Bonjour à tous, je suis entrain de traiter sur une application de gestion d'une pharmacie mais je suis buté à beaucoup de difficultés.
1. Sur ma feuille 'SORTIE' je n'arrive pas à récupérer le prix unitaire et le prix total qui doit trouvé automatiquement après la validation de la sortie
2. J'aimerais que la sortie d'un produit me crée aussi automatiquement une facture Imprimable sur la feuille 'FAC'. Svp je suis bloqué depuis quelques jours. Merci d'avance à vous tous!
 

Pièces jointes

  • GESPHAR.xls
    195.5 KB · Affichages: 16

youky(BJ)

XLDnaute Barbatruc
Bonjour Alkp, bonjour Sylvanu,
J'ai fait ce fichier que voici à la demande d'un dispensaire de Madagascar.
La demande proviens de ce forum il y a quelque années.
Il régit les données d'une pharmacie aussi de soins et autres.
Comme facture c'est un ticket de caisse.
A voir si il vous intéresse.
Bruno
 

Pièces jointes

  • TICKET2.xlsm
    148.5 KB · Affichages: 15

Alkp

XLDnaute Nouveau
Bonjour youky(BJ), je vais y jeter un coup d'œil, merci beaucoup
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Un essai en PJ pour le premier point avec :
VB:
Prix unitaire :
=RECHERCHEV(A16;'Pharmacie centrale'!$B$4:$E$1000;4;FAUX)
Alerte sur stock :
=SI(RECHERCHEV(A16;'Pharmacie centrale'!$B$4:$E$1000;3;FAUX)<B16;"Quantité demandée supérieure au stock";"")
Pour le second point, pas compris.
Dans FAC il s'agit d'une recopie de Sortie ?
 

Pièces jointes

  • GESPHAR (2).xls
    199.5 KB · Affichages: 12

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Un essai en PJ avec cette macro :
VB:
Sub Worksheet_Activate()
    Dim DL%, i%, Lecr%
    ActiveSheet.Unprotect ("SDIS")                      ' Déprotection
    Application.ScreenUpdating = False
    Range("A9:D" & Range("A65500").End(xlUp).Row - 1).ClearContents
    Lecr = 9                                            ' Init pointeur écriture
    With Sheets("SORTIE")
        For i = 3 To .Range("A65500").End(xlUp).Row
            If .Cells(i, "B") <> 0 Then                 ' Si quantité non nulle
                Cells(Lecr, "A") = .Cells(i, "B")       ' Qté
                Cells(Lecr, "B") = .Cells(i, "A")       ' Description
                Cells(Lecr, "C") = .Cells(i, "D")       ' PU
                Cells(Lecr, "D") = .Cells(i, "E")       ' PT
                Lecr = Lecr + 1
                Rows(Lecr).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ' Insère ligne
            End If
        Next i
    End With
    DL = Range("A65500").End(xlUp).Row
    Rows(Lecr + 1 & ":" & DL - 1).Delete Shift:=xlUp    ' Supprime lignes inutiles
    ActiveSheet.Protect "SDIS", True, True, , True      ' Protection
End Sub
La macro s'exécute automatiquement lorsqu'on sélectionne la feuille FAC.
 

Pièces jointes

  • GESPHAR (V2).xls
    211 KB · Affichages: 2

Alkp

XLDnaute Nouveau

Bonjour youky(BJ), je vais y jeter un coup d'œil, merci beaucoup
Bonjour youky, oui c'est presque la même vision que j'avais juste le numéro de ticket ne bouge pas il est toujours à 48, revoyez aussi svp la feuille d'inventaire, les données sont superposées. Merci pour votre réponse.
 

youky(BJ)

XLDnaute Barbatruc
Bonjour tous,
revoici le fichier modifié j'ai corrigé les bugs.
La dernière version de ce fichier ayant encore bien évolué avec des représentants et crédits possible.
J'ai mis sur le forum un fichier intermédiaire.
Voici corrigé
Bruno

PS j'ai aussi ajouté un feuille AIDE
 

Pièces jointes

  • TICKET2.xlsm
    182.8 KB · Affichages: 13

Danywarano

XLDnaute Nouveau
Et aussi, peut-on réinitialiser la BD sans que ça n’impacte le fichier XL?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…