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

Macro date suivante

  • Initiateur de la discussion Initiateur de la discussion adam75
  • 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 !

A

adam75

Guest
Bonjour tout le monde,

J'ai cherché mais je n'ai rien trouvé. C'ets surement simple à faire mais je n'y arrive pas !! Voilà j'ai une colonne (B) avec plein de dates et je voudrais qu'à chaque fois qu'on clic sur un bouton, la date de la cellule suivante s'affiche en E2.

En colonne B:
01/01/07
08/01/07
12/01/07
15/01/07

En E2, au début il y a affiché 01/01/07 puis quand on clique il faudrait qu'il s'affiche 08/01/07, on reclique, 12/01/07,...

Je vous mets le fichier au cas où ce n'est pas clair.

Merci d'avance. 😉
 

Pièces jointes

Re : Macro date suivante

Finalement j'ai trouvé tout seul avec un RechercheV un peu compliqué mais ça marche très bien.

Je joins le fichier pour ceux que ça interesse. 😉
 

Pièces jointes

Re : Macro date suivante

Bonjour Adam75,

Une solution :

J'ai remplacé ton bouton par un compteur.
Pour afficher le paramétrage, faire clic droit - format de contrôle

J'ai associé la cellule E1 à ce compteur, la couleur de police blanche et j'ai mis une fonction INDIRECT en E2.

@+
 

Pièces jointes

Re : Macro date suivante

Bonsoir Sergio, j'avais raté ta réponse. 🙁

Merci pour ton aide mais en fait j'ai vraiment besoin d'un bouton et en fait je suis plutôt content de ma methode. 😛

Encore merci à toi. 😉
 
Re : Macro date suivante

une autre solution avec une plage nommée et la recherche du rang dans la plage

Code:
Sub DateSuivante()
'il faut en premier nommer la plage
'insertion nom definir
'ou onglet formule / gestionnaire de noms / nouveau sur Xl2007
'le nom ListeDate
'la formule =DECALER( 'Feuil1 (2)'!$B$3;0;0;NBVAL( 'Feuil1 (2)'!$B:$B)-1;1)
'cela te permet de rajouter des lignes et mettre à jour la plage

'si le rang de la valeur de E2 est inférieur au nombre de ligne de la plage
If Application.Rank([e2], Range("ListeDate"), 1) < Range("listedate").Rows.Count Then
  'on prend le rang supérieur
  [e2] = Application.Index(Range("ListeDate"), Application.Rank([e2], Range("ListeDate"), 1) + 1)
Else: MsgBox "yenaplu"
End If
End Sub


Salutations
 

Pièces jointes

Re : Macro date suivante

Bonjour,

Voici une autre méthodes
Il faut donner un nom à la zone des dates
la macro incrémente un compteur (cellule 2,3)
la zone "my_dates" est comprise comme un tableau (array) et il faut prendre le Xième élément
Xième = valeur de la cellule 2,3

Tu peux ainsi modifier la valeur de la cellule 2,3 pour repartir à la date suivante
 

Pièces jointes

- 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

  • Question Question
XL 2016 Date
Réponses
6
Affichages
752
Réponses
20
Affichages
1 K
Réponses
10
Affichages
779
  • Question Question
Microsoft 365 Macro excel ou vba
Réponses
17
Affichages
1 K
Réponses
3
Affichages
592
Réponses
2
Affichages
887
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…