XL 2010 Gestion des absences (VBA)

heffinger

XLDnaute Nouveau
Bonjour tout le monde!!
Alors voila, il y a quelques jours c'était la première fois que je postais sur un forum et aujourd'hui à force d’heures de prise de tête et d’aide de certains de nos confrères forumER (si je puis dire), mon fichier est tout beau et fonctionne (pour le principal).
Ainsi, ce qui fonctionne:
- le calendrier est automatique
- affichage des jours férié en vert et des weekend en gris
- pour les employés qui ne travaillent que 4 jours par semaine affichage du 3eme jour de repos hebdomadaire comme les weekends
- Possibilité de saisir plusieurs types d’absences
- recapitulatifs des totaux par type d'absence, d'employé et d'année avec soustraction des jours férié, weekend et repos additionnel hebdomadaire (facultatif)
- liens hyper texte sur des objets pour que l'utilisateur puisse naviguer de feuille en feuille via un sommaire.

Néanmoins, certaines choses ne fonctionnent pas. Je m’initie à VBA par l’ajout des boutons ellipse nommé « Nouvel employé » et « Départs ». je vous explique:

- J’ai tenté de faire en sorte que lorsque quelqu’un clique sur « nouvel employé », l’userform 1 s’affiche + le nom entré dans la textbox1 s’ajoute à la liste des employés en feuille « listes ».

- de plus lorsque quelqu’un clique sur « départ », l’userfom2 s’affiche et le nom rentré doit s’ajouter aux noms des employés qui ont quitté l’entreprise en feuille ‘Listes' là aussi. Avec ce rangement de données via VBA s'ajoute une mise en forme conditionnelle à toute la feuille "planning" et la feuille des récapitulatif des totaux pour que les noms listés grace à l’userform2 se grisent.

Or pour ces deux boutons je bloque car:
les informations rentrées par les deux textbox ne s’affichent pas la ou je demande qu’elles s’affichent
la mise en forme conditionnelle s’applique à toutes les cellules de mes feuilles lorsque la liste des employés qui ont quitté l’entreprise est vide -_-‘

Et enfin le petit bonus, je ne sais pas si c'est possible de supprimer automatiquement les lignes vides du planning.
Voila je ne sais pas si j’ai été claire. je vous remercie d’avance si vous pouvez m’aider
1f600.png
 

Pièces jointes

  • Gestionnaire Absences.xlsm
    5.6 MB · Affichages: 314
Dernière édition:

sousou

XLDnaute Barbatruc
bonsoir.
Il va falloir étudier la syntaxe du with
n'oublie pas le point.
Regarde ceci pour la création

Private Sub CommandButton1_Click()
With Sheets("listes")
Dim i
i = .Range("A65000").End(xlUp).Row + 1
.Cells(i, 1) = UserForm1.TextBox1
TextBox1.Text = ""
UserForm1.Hide
End With

End Sub
 

heffinger

XLDnaute Nouveau
Merci sousou cela fonctionne effectivement !! est ce que tu penses qu'il serait possible que ce programme classe automatiquement les noms des employés par ordre alphabétique dans cette liste? elle est déjà triée de base mais du coup à chaque fois qu'un nom se rajoute il ne se classe pas automatiquement parmi les autres.
 

heffinger

XLDnaute Nouveau
Aussi pour les "départ" j'ai adapté ton code:
Private Sub CommandButton2_Click()
With Sheets("listes")
Dim i
i = .Range("K65000").End(xlUp).Row + 1
.Cells(i, 1) = UserForm2.TextBox2
TextBox2.Text = ""
UserForm2.Hide
End With

End Sub

Or il me range quand même les informations a colonne A comme pour le premier et pas en colonne K. pk?
 

Discussions similaires

Réponses
6
Affichages
792
Réponses
6
Affichages
376
Réponses
10
Affichages
1 K

Statistiques des forums

Discussions
315 095
Messages
2 116 167
Membres
112 675
dernier inscrit
Tazra_IMOU