Macro pour cahier de presence

donssalus

XLDnaute Nouveau
bonjour,
je suis très très novice en excel, mais j'ai suivi une courte formation pour mon boulot en 2 jours, et j'ai demandé à la formatrice de me faire une macro pour mon cahier de presence scolaire.Elle m'a bien redigé la macro seulement voila chez moi elle ne fonctionne pas du tout.
Le prince est le suivant. une liste d'élèves avec des colones pour chaque jours de la semaine.Manuellement j'introduis que les absents du jours.Pour eviter de devoir mettre un P pour chaque élèves afin de spécifier qu'ils sont présents, j'avais imaginer une sorte de bouton sur le quel on klik et qui introduit manuellement tous les p la ou les cellules sont vides pour le jour.
Voici la macro qu'on m'a donné :
Sub presence()
Dim cell As Range
For Each cell In Selection
If IsEmpty(cell) Then
cell o Value = "P"
Next

End Sub
 

job75

XLDnaute Barbatruc
Re : Macro pour cahier de presence

Bonsoir donssalus, bienvenue sur le forum,

La macro est correcte comme suit :

Code:
Sub presence()
Dim cell As Range
For Each cell In Selection
If IsEmpty(cell) Then
cell.Value = "P"
End If
Next
End sub

Bonne nuit.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro pour cahier de presence

Bon, maintenant, on va créer le bouton.

1) Cliquez avec le bouton droit de la souris sur la barre de menus. Dans la liste, cliquez sur Formulaires. Vous voyez affichés plusieurs objets. Cliquez sur celui qui ressemble à un bouton. Cliquez dessus et déplacez la souris.

2) Vous voyez une petite croix se déplacer. Vous amenez cette croix à l'endroit où vous voulez créer le bouton.

3) Alors à cet endroit vous appuyez sur le bouton gauche de la souris en le maintenant enfoncé. Déplacez la souris : le bouton se dessine. Quand il a la dimension souhaitée, vous lachez le bouton de la souris.

4) La boîte de dialogue Affecter une macro s'ouvre. Vous tapez le nom de la macro : presence dans la partie en surbrillance noire, et vous faites OK.

5) Le bouton est sélectionné, vous pouvez modifier ses dimensions ou le déplacer, ou même le supprimer (touche Suppr). Pour qu'il ne soit plus sélectionné, vous cliquez à côté.

Normalement maintenant, quand vous cliquez sur le bouton, les "P" vont s'inscrire dans les cellules vides de la sélection.

Dites-moi si vous y arrivez.

Edit : si vous voulez de nouveau sélectionner le bouton, cliquez dessus avec le bouton droit de la souris.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro pour cahier de presence

Bonjour donssalus, le forum,

Une autre solution, au lieu d'utiliser un bouton, est de lancer la macro par l'action du clic droit. La macro est à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim cell as Range
For Each cell In Selection
If IsEmpty(cell) Then
cell.Value = "P"
End If
Next
Cancel = True
End Sub

Comme avec le bouton, il serait souhaitable d'indiquer dans la macro la ou les plage(s) de cellules où les "P" peuvent s'inscrire. Je peux le faire si vous nous le précisez.

A+
 

donssalus

XLDnaute Nouveau
Re : Macro pour cahier de presence

BOnjour, en tout cas un super grand merci à votre réponse.
La macro fonctionne et le bouton aussi quand je creer un nouveau document.
Mais içi je veux introduire la macro sur un document existant.Quand je klik sur le bouton il me met qu'il ne peut pas activer la macro car le fichier est en cours d'utilisation et qu'il faut l'ouvrir en fichier seul !!!!
 

job75

XLDnaute Barbatruc
Re : Macro pour cahier de presence

Re,

Mais içi je veux introduire la macro sur un document existant.

Désolé, ce n'est pas clair. Vous voulez exécuter la macro quand le document est le classeur actif, ou vous voulez mettre le texte de la macro dans une de ses feuilles ?

De toute façon, si l'on vous dit que le classeur est en lecture seule, c'est que quelqu'un lui a donné cet attribut.

A+
 

donssalus

XLDnaute Nouveau
Re : Macro pour cahier de presence

ok merci, c'est arrangé l'erreur venait de moi :) j'attribuait la macro que pour une feuille au lieu de tout le classeur.
Par contre derniere petite chose pour eviter de devoir systematique devoir creer un bouton pour chaque feuille du classeur.Est il possible de creer un bouton qui se situe dans les bare d'outils par ex à coté de l'impression etc... ce qui permet de toujours l'avoir sous la main et ainsi qu'il n'apparaisse pas sur la feuille.merci
 

job75

XLDnaute Barbatruc
Re : Macro pour cahier de presence

Re,

On peut en effet créer un outil, mais c'est plus compliqué que de créer un bouton...

Je vous conseille vivement cette macro, qui se lance quand on fait un clic droit dans n'importe quelle feuille. Elle est à placer dans le code de Thisworkbook :

Code:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim cell as Range
For Each cell In Selection
If IsEmpty(cell) Then
cell.Value = "P"
End If
Next
Cancel = True
End Sub

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 843
Membres
104 289
dernier inscrit
red123