EXCEL - Déplacer le curseur en fonction d'une date saisie

Résolu/Fermé
al90. Messages postés 6 Date d'inscription mardi 21 janvier 2014 Statut Membre Dernière intervention 19 mai 2022 - 17 mai 2022 à 12:01
al90. Messages postés 6 Date d'inscription mardi 21 janvier 2014 Statut Membre Dernière intervention 19 mai 2022 - 19 mai 2022 à 19:05
Bonjour à tous,

J'ai cherché dans le forum mais je n'ai pas trouvé de réponse à mon problème.

J'ai un fichier excel avec des dates sur une année entière de D8 à ABE8 pour gérer les plannings d'une vingtaine de salariés.

Pour saisir me déplacer plus vite dans le tableau, j'aimerais lorsque je saisie en C6 une date, que le curseur se déplace sur la date identique dans la plage D8 à ABE8 (plage qui contient toutes mes dates de l'année).

Petite subtilité de mon tableau, j'ai à chaque fois deux fois la même date l'une à côté de l'autre, une pour le matin et une pour l'après-midi.

J'ai vu des post avec du VBA mais je ne connais pas cette procédure - je connais un peu l'enregistrement de macro.

Merci par avance pour votre aide.

al90
A voir également:

7 réponses

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
17 mai 2022 à 13:22
Bonjour

A mettre dans le module de la feuille concernée
Option Explicit

Const celdate = "C6"
Const lidates = 8

Private Sub Worksheet_Change(ByVal Target As Range)
Dim obj As Object, d As Date
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range(celdate)) Is Nothing Then
  d = Target.Value
  Set obj = Rows(lidates).Find(d)
  If Not obj Is Nothing Then obj.Select
End If
End Sub

Cdlmnt
0
Bonjour, je vous remercie pour votre aide mais comment dois je faire pour coller cette programmation, je n'y connais rien. Je ne pense pas qu'il faut le mettre dans la cellule. Pouvez-vous m'expliquer pas à pas svp.
Je connais bien excel mais pas la programmation.
Un grand merci par avance pour votre patience et votre aide
Al
0
al90. Messages postés 6 Date d'inscription mardi 21 janvier 2014 Statut Membre Dernière intervention 19 mai 2022
18 mai 2022 à 08:37
Bonjour,

tout d'abord un grand merci pour votre aide.
je suis novice avec ce type de langage, en fouillant un peu, j'ai compris que je devais ouvrir visual basic pour mettre ce code.
seulement j'ai bien ma feuille planning dans microsoft excel objets mais dans modules, j'ai uniquement module 1.

je ne sais pas comment faire pour ajouter la feuil planning dans module.

désolée, je ne connais absolument pas cette procédure, je suis donc perdue.

merci par avance pour votre aide et votre patience.

cdlt

al90
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
18 mai 2022 à 10:54
Bonjour

Tout est là
https://www.cjoint.com/c/LEsi1yG6DJB

Cdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
al90. Messages postés 6 Date d'inscription mardi 21 janvier 2014 Statut Membre Dernière intervention 19 mai 2022
18 mai 2022 à 12:19
merci pour vos explications, j'ai réussi à coller le code mais cela ne fonctionne pas, c'est peut-être par rapport à mes dates.
j'ai mis en pj un impr écran du fichier avec les formules. mes dates sont conditionnées par une formule et je soupçonne que le problème vient de là. merci encore pour l'aide.



cdlt
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
18 mai 2022 à 14:11
ok
Modifier cette ligne comme ceci (attention aux deux virgules
Set obj = Rows(lidates).Find(d, , xlValues)

Cdlmnt
0
al90. Messages postés 6 Date d'inscription mardi 21 janvier 2014 Statut Membre Dernière intervention 19 mai 2022
19 mai 2022 à 19:05
Bonsoir,

désolée pour le temps de retour.
cela fonctionne parfaitement, un grand merci pour l'aide et le temps que vous m'avez accordé.
c'est parfait.

cdlt
0