Visual Basic en Excel

[Résolu]
Signaler
Messages postés
3
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
15 juin 2005
-
Messages postés
3
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
15 juin 2005
-
Bonjour tout le monde,

Je risque de poser une bête question, voila je maitrise un peu VB, mais je n'arrive pas a faire un truc assez simple et j'ai essayer pendant une grosse semaine. Voila je suis en train de faire une base de donnée pour classer le stock, les rentées et les sorties de vidéo pour une vidéotheque. Et quand une video sort ou rente de la videotheque, je voudrais qu'il rajoute ou enlève 1 du stock.qui se trouve en excel.

4 réponses

Messages postés
39
Date d'inscription
dimanche 8 mai 2005
Statut
Membre
Dernière intervention
8 juillet 2005
17
Voilà, en bleu ce qui a trait à la location de cassette et en rouge ce qui concerne la restitution.



dim x as Integer

dim z as integer


dim Stock as Integer

dim NomFilm as String

dim NomClient as String



x = 1

z = 1

NomFilm = userform.combobox1.value

NomClient = txt_NomClient.Value (ta textbox où je suppose que le client saisi son nom )





Tant que les cellules de la colonne 1 ne sont pas vides

Do while worksheets("feuil3").cells(x,1).value <> ""



Si une de tes cellules = à la valeur de ta combobox alors

If worksheets("feuil3").cells(x,1).value = NomFilm then



Stock est égal à la valeur de la cellule correspondante de la colonne 3

Stock = worksheets("feuil3").cells(x,3).value

Si le stock est égal à 0 alors sors du code

If Stock = 0 then Exit Sub

On ôte 1 à cette valeur (ou tu mets + 1 si c'est pour rendre une cassette)

Stock stock - 1 (Stock Stock + 1 si c'est une restitution de cassette)

La cellule est mise à jour

Stock = worksheets("feuil3").cells(x,3).value



En admettant que ta liste de client est dans la colonne A de la feuil1, tant que les cellules ne sont pas vides

Do Until worksheets("feuil1").cells(z,1).value = ""



Si une des cellules est égale au nom du client alors sort du code

If worksheets("feuil1").cells(z,1).value = NomClient then Exit Sub

Si une des cellules est égale au nom du client alors remet la cellule à blanc

If worksheets("feuil1").cells(z,1).value NomClient then worksheets("feuil1").cells(z,1).value ""



Passe à la ligne suivante

z = z + 1



Loop



A la 1ère cellule vide, le nom du client est inscrit

worksheets("feuil1").cells(z,1).value = NomClient

Tu n'écris pas cette ligne de code dans le cas d'une restitution



End If



x = x + 1



Loop



Merci d'accepter la réponse si tu es satisfait.






K. SZe
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
39
Date d'inscription
dimanche 8 mai 2005
Statut
Membre
Dernière intervention
8 juillet 2005
17
bonjour,



Si j'ai bien compris tu as une base de données, est-elle sur Access ?

Tu voudrais que, lorsqu'on enregistre une entrée ou sortie dans ta
base, le total stock, qui se trouve dans un fichier Excel lui, soit
impacté . Est-ce bien ça?



Pour que je puisse t'expliquer, il faudrait que tu m'explique comment
se présente ton formulaire entrée/sortie de vidéo et comment se
présente ton fichier excel.




K. SZe
Messages postés
3
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
15 juin 2005

Donc un client prend un film, il a le choix entre une centaine de film qui se trouve sur userform.combobox1 qui est lié à feuil3 (range A). Mais sur cette même feuil il y a le stock a diminuer ou a augmenter (range C). Quand un client prend un film son nom se rajoute dans liste sur feuil1. Mais je voudrais que le stock change et quand le stock est à 0, il dit stop. Et quand la ligne avec nom du client est suprimmé, 1 se rajoute au stock!
Merci d'avance
Messages postés
3
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
15 juin 2005

Bonjour tous le monde,





Et un grand merci pour votre aide. Enfin je n’ai personnellement pas trop réussi à le faire mais un de mes collègues a réussi à le faire assez facilement. J’ai un conseil ou plus tôt une sorte de service a demandé, comme je vous l’ai déjà dit, je connais qu’un peu de visual basic, disons une petite base et je voudrais bien m’améliorer, comment est ce que vous avez appris tout ça, comme ça je pourrais essayer de faire la même apprentissage, enfin un truc qui y ressemble, mais vous devrez tenir compte du fait que je vis à Anderlecht à Bruxelles.


Alors si vous compter m’y aider, merci


Et sinon merci quand même