Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Curseur dynamique

  • Initiateur de la discussion Initiateur de la discussion Papet
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Papet

Guest
Bonjour,

J'ai établi une feuille de planning d'absences tel que l'exemple joint. Je souhaite y placer un curseur qui se positionne dans la colonne correspondant à la date actuelle (tel que le trait rouge) lors de l'ouverture du fichier et qui ne puisse être supprimé par les utilisateurs (à inclure dans la protection de la feuille)
N'ayant pas de grosse connaissance de VBA, j'ai quelque peu galéré pour tenter de rendre dynamique ce curseur mais je n'y suis pas arrivé et n'ait pas trouvé mon bonheur sur le net.
Quelqu'un possède-t-il l'astuce SVP ?

Lou Papet
 

Pièces jointes

Re : Curseur dynamique

Bonjour Papet,

vois fichier joint pour la sélection des cellules correspondant à la date du jour

pas très bien compris ta demande de protection car si on sélectionne la date du jour, c'est peut-être pour y mettre quelque chose

à+
Philippe
 

Pièces jointes

Re : Curseur dynamique

Bonsoir
La je n'ai pas mis de curseur, mais seulement une mise en forme conditionnelle, sur l'exemple joint regarde comment sont inscrit les jours et aussi le format personnalisé des dates.
Donc la cellule avec la bonne date aura un encadrer rouge

EDIT
Bonjour PierreJean
 

Pièces jointes

Dernière édition:
Re : Curseur dynamique

bonjour Papet

une possibilité par macro evenementielle

Code:
Private Sub Worksheet_Activate()
For n = 2 To 33
  If Cells(3, n) = Date Then
   x = Cells(3, n).Left
   ActiveSheet.Shapes("Line 1").Left = x + 9
   Exit Sub
  End If
Next n
End Sub

Note: Les jours sont obtenus par formules (voir B3 et suivantes)
Pour verifier : deplace le curseur , change de feuille et reviens sur la feuil1

Edit: Salut Bruno Salut JB
 

Pièces jointes

Re : Curseur dynamique

Bonjour le fil,

J'y vais aussi de ma solution avec cette macro :

Code:
Sub Curseur()
Dim mois As Range, jour As Range
With Feuil1 'CodeName de la feuille, ou avec le Name => Sheets("Feuil1")
  Set mois = .Rows(1).Find(Format(Date, "mmmm"), LookIn:=xlFormulas, LookAt:=xlWhole)
  Set jour = Intersect(.Rows(3), mois.MergeArea.EntireColumn).Find(Format(Date, "d"))
  .Unprotect "mdp" 'mettre le mot de passe réel
  .Shapes("Trait 1").Top = jour.Offset(1).Top
  .Shapes("Trait 1").Left = (jour.Left + jour.Offset(, 1).Left) / 2
  .Protect "mdp" 'mettre le mot de passe réel
  .Activate 'facultatif
  jour.Select 'facultatif
End With
End Sub

Elle est appelée par une Workbook_Open et par une Worksheet_Activate.

Fichier joint.

A+
 

Pièces jointes

Re : Curseur dynamique

Merci à tous pour votre participation.
La réponse de JOB75 correspond tout à fait à ce que je recherche et m'a donc permis d'éviter une prise d'aspirine concentrée. Je garde tout de même quelques cachets pour essayer de comprendre le code car je débute en VBA.😉

A+
Lou Papet
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…