VBA exel

snawbel

XLDnaute Nouveau
Bonjour,
Je travaille pour l'instant sur un programme de gestion des présences des élèves d'une école dans exel.

Dans se programme l'encodage du chiffre 1 est égale à 1 jour de présence.
Le 0 = l'abscence.

Jusque là tout va bien. Où ça coince. C'est que je dois protéger ma feuille et laisser la zone de présence libre d'acces. Pour protéger je n'ai pas de problème. Mais quand j'encode les 0 dans les zones libre d'acces pour les absence, le 0 s'inscrit mais on ne sait pas mettre de couleur de remplissage dans la cellule. ( les personnes encodant, doivent remplir la cellule qui comporte le 0 en 6 couleurs différentes pour justifier l'abscence soit par un certif, une carte de sortie ....)

J'ai essayer la mise en forme conditionnelle, mais elle n'accepte que trois conditions et il m'en faut 6.

Je voudrai le faire en vba et de mettre par exemple, quand la cellule est = à 0 alors faire apparaitre un msgbox demandant de choisir la nature de l'absence. La réponse encodée, verifier si elle est égale par exemple au certificat médical et si cela est vrai mettre cette cellule en couleur de remplissage bleu.


Merci d'avance pour votre aide.

C@role
 

Pierrot93

XLDnaute Barbatruc
Re : VBA exel

Bonjour Carole

Si j'ai bien compris ta demande, une approche en vba, fichier ci joint, si tu mets 0 dans une cellule un USF s'affiche te donnant plusieurs choix.

A voir et à te lire, si tu as des questions n'hésites pas.

Bonne journée
@+
 

Pièces jointes

  • classeur3.xls
    35 KB · Affichages: 129
  • classeur3.xls
    35 KB · Affichages: 132
  • classeur3.xls
    35 KB · Affichages: 131

bqtr

XLDnaute Accro
Re : VBA exel

bonjour Carole, Pierrot

La même chose, mais avec une combobox et l'action ciblée sur les colonnes :

B1:B30,D1:D30,F1:F30

à adapter bien sûr

Bonne soirée

P.O
 

Pièces jointes

  • Absence.xls
    42 KB · Affichages: 121
  • Absence.xls
    42 KB · Affichages: 121
  • Absence.xls
    42 KB · Affichages: 121

Gorfael

XLDnaute Barbatruc
Re : VBA exel

snawbel à dit:
Bonjour,
Je travaille pour l'instant sur un programme de gestion des présences des élèves d'une école dans exel.

Dans se programme l'encodage du chiffre 1 est égale à 1 jour de présence.
Le 0 = l'abscence.

Jusque là tout va bien. Où ça coince. C'est que je dois protéger ma feuille et laisser la zone de présence libre d'acces. Pour protéger je n'ai pas de problème. Mais quand j'encode les 0 dans les zones libre d'acces pour les absence, le 0 s'inscrit mais on ne sait pas mettre de couleur de remplissage dans la cellule. ( les personnes encodant, doivent remplir la cellule qui comporte le 0 en 6 couleurs différentes pour justifier l'abscence soit par un certif, une carte de sortie ....)

J'ai essayer la mise en forme conditionnelle, mais elle n'accepte que trois conditions et il m'en faut 6.

Je voudrai le faire en vba et de mettre par exemple, quand la cellule est = à 0 alors faire apparaitre un msgbox demandant de choisir la nature de l'absence. La réponse encodée, verifier si elle est égale par exemple au certificat médical et si cela est vrai mettre cette cellule en couleur de remplissage bleu.


Merci d'avance pour votre aide.

C@role
Salut
Juste une approche différente :
si l'élève est présent : 1 pas de problème
si l'élève est absent : 0, mais sous 6 formes différentes en fonction d'une couleur :
1 - ça te pose des problèmes de verrouillage
2 - tu ne peux pas faire un traitement derrière, parce que jaune et jaune clair sont similaire (et t'en aura toujours un pour vouloir le deuxième) alors que pour Excel, c'est le jour et la nuit
3 - tu vas tomber sur des daltoniens

Pour éviter ce style de problème, je préféres :
0 ou rien : non traité
1 : présent
4 à 9 : les motifs d'abscense
avec une macro automatique qui en sortie de cellule
enlève la protection
colorie la cellule
remet la protection

A+
 

Discussions similaires

Réponses
8
Affichages
714

Statistiques des forums

Discussions
312 913
Messages
2 093 534
Membres
105 750
dernier inscrit
fred13340