Début en VBA appliqué à la gestion de vestiaires

Karine38

XLDnaute Nouveau
Bonjour à tous,

Voilà très longtemps que je m'étais inscrite mais sans jamais vraiment participer. Maintenant je reviens plus motivée que jamais à me perfectionner et maîtriser Excel.

Je me représente rapidement. Je m'appelle Karine et je suis assistante technique dans l'industrie. J'essaye de spécialiser mon poste par la maîtrise d'excel. C'est pourquoi j'ai demandé une formation VBA (niveau 1) pour essayer des petites applications pour faciliter certaines tâches.

Je reviens de cette formation et je commence à appliquer. J'ai commencé par ce que je pensais être simple mais j'ai quelques soucis quand même.

Voilà, je voudrais faire une gestion de nos vestiaires (il y a quelques turns over).
Donc les vestiaires correspondent aux cellules et j'ai fait deux macros ; une pour affecter un vestiaire et l'autre pour le libérer. J'ai réussi à faire quelques chose qui fonctionne mais il y a des bugs.

J'ai mis le fichier en pièce jointe et mes interrogations dans les commentaires du programme.:confused:

Comme je suis en apprentissage mon but est de bien comprendre l'aide que vous voudrez bien m'apporter alors j'espère que vous en m'en voudrez pas si je pose plein de questions.

Je vous remercie d'avance, à bientôt
 

Pièces jointes

  • Essais_Gestion_vestiaires2.xls
    42 KB · Affichages: 276

Gruick

XLDnaute Accro
Re : Début en VBA appliqué à la gestion de vestiaires

Bonjour Karine38 (Isère ?)
Je serai d'avis de cliquer sur le casier voulu, c'est possible, et ça éviterait toute erreur de saisie.
Avec un petit test sur la liberté et/ou la fermeture par sécurité.
Pas compris ton premier test
If casier = 2 Then
Quant à la gestion d'annul, il faut un test pour en sortir, j'ai eu le problème.

Ton fichier est bien pensé, ce sera un plaisir d'y réfléchir.

Gruick
 

Karine38

XLDnaute Nouveau
Re : Début en VBA appliqué à la gestion de vestiaires

Bonjour Gruick

Effectivement, de l'isère !
Oui, au début je voulais faire ça (cliquer sur la cellule) mais je ne savais pas trop comment aborder le truc. Je vais y réfléchir quand même. Mais comme je dois rendre mon travail la semaine prochaine je vais au plus abordable pour moi dans un premier temps et après je retravaille dessus tranquillement.

Je vais essayer de faire des recherches sur l'annul.
Et pour revenir au début j'avais trouvé un exemple qui faisait ça avec debut : et goto début mais quand j'essaie de placer ça, ça me plante le programme en mettant qu'il me manque un else :confused:. Donc je ne sais pas comment le placer.

En tous cas, merci de m'avoir lu.
A bientôt
 

Gruick

XLDnaute Accro
Re : Début en VBA appliqué à la gestion de vestiaires

re, Karine38... de Vizille peut-être ? (Toute ma famille du côté maternel est de là bas)

Déjà pour la libération, voici la macro que j'ai modifiée
Code:
Sub liberer_vestiaire()
    casier = Application.InputBox("Quel casier voulez-vous libérer ?", Type:=8)
    Cells.Find(casier).Select
    nom = ActiveCell.Offset(1, 0).Value
    MsgBox ("Le casier est occupé par " & nom)
    rep = MsgBox("Voulez-vous toujours le libérer ?", vbYesNo)
    If rep = 6 Then
        ActiveCell.Interior.ColorIndex = 35
        ActiveCell.Offset(1, 0).Value = "Libre"
        MsgBox ("Les casier est libre")
    Else
        MsgBox ("Au revoir")
    End If
End Sub

Pour l'affectation, pas trop compris le changement que tu veux, c'est plus simple d'annuler et affecter. En tous cas, tout casier non libre sera refusé.
Le "voulez vous continuer" est aussi (pour moi) pas plus ergonomique que les deux boutons.
Ne te compliques pas trop...

Gruick
 

Gruick

XLDnaute Accro
Re : Début en VBA appliqué à la gestion de vestiaires

re,

En utilisant l'instruction set, tu n'as plus à faire des find. et des select.
Voici une version plus élaborée de la macro liberatoire
Code:
Sub liberer_vestiaire()
Set casier = Application.InputBox("Quel casier voulez-vous libérer ?", Type:=8)
If casier.Interior.ColorIndex <> 3 Then MsgBox ("Erreur"): Exit Sub
Set nom = casier.Offset(1, 0)
MsgBox ("Le casier est occupé par " & nom)
rep = MsgBox("Voulez-vous toujours le libérer ?", vbYesNo)
If rep = 6 Then
  casier.Interior.ColorIndex = 35
  nom.Value = "Libre"
  MsgBox ("Les casier est libre")
End If
End Sub
avec un test supplémentaire sur la couleur rouge, seule capable d'être libérée.

Tu peux t'inspirer de ceci pour l'affectation, mais si tu veux que j'y travaille, fais moi signe...

Gruick
 

Karine38

XLDnaute Nouveau
Re : Début en VBA appliqué à la gestion de vestiaires

Ce forum est trop cool !:D
Je sens que je vais en apprendre pas mal ici.
Merci pour tout ça.
Comme je l'ai dit, je suis en apprentissage et je veux comprendre les réponses, conseils apportés. Aujourd'hui je ne peux pas parce que je vais entrer en réunion mais dès lundi je creuse toutes les idées et programmes soumis.
C'est vrai que je n'avais pas pensé à l'userform.
Merci pour tout et bon week-end à tous ;)

Et au fait, non pas de Vizille plutôt autour de Bourgoin !
 

Gruick

XLDnaute Accro
Re : Début en VBA appliqué à la gestion de vestiaires

Salut Kjin,

C'est un beau boulot, mais je crains que ça dépasse l'idée originale de Karine, qui passe donc le week-end à la Réunion (!) pour s'en remettre.

Je joins mon fichier quand même, et je vais réparer les HS.

Bon WE

Gruick
 

Pièces jointes

  • vestiaires.xls
    43 KB · Affichages: 220

kjin

XLDnaute Barbatruc
Re : Début en VBA appliqué à la gestion de vestiaires

C'est un beau boulot mais je crains que ça dépasse l'idée originale de Karine...
N'exageres pas, même si effectivement c'est un peu différent, c'est quand même à la portée de n'importe quel débutant
....qui passe donc le week-end à la Réunion (!) pour s'en remettre.
Ah bon...as tu prévenu l'ami Dull :)
A+
kjin
 

Gruick

XLDnaute Accro
Re : Début en VBA appliqué à la gestion de vestiaires

Salut Kjin,
N'exageres pas, même si effectivement c'est un peu différent, c'est quand même à la portée de n'importe quel débutant
Je me souviens en avoir quand même bavé au début. Karine fait la bonne démarche en voulant comprendre ce que nous lui suggérons. Tu lui as fait un feu d'artifice.
Je te félicite encore pour ton travail, en avouant avoir pensé en premier à un USF, mais Karine ne le demandait pas, elle voulait que ses macros soient analysées et complétées.

Pour Dull, il se fait rare, un peu comme moi ces derniers temps.

A+
Gruick
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal