Incrémenter une date en fonction d'une liste

Bonjour la communauté

Je souhaiterais créer un bouton qui me permette de monter ou descendre de date par rapport a une ligne existante dans un tableau.

Je m'explique :

Dans le fichier ci-joint j'ai mis un bouton avec Up/Down et je voudrais que la date affichée en B1 change en suivant les dates de la ligne 3 en allant a droite vers le haut et à gauche vers le bas.

Je ne parviens pas a trouver comment faire en VBA et je n'ai rien trouver sur le forum pouvant m'aider

J'ai vraiment besoin que ce soit la date affichée en B1 qui change car elle me sert de référence dans d'autres formule sur le fichier que j'utilise

Merci d'avance.

Bonjour,

Je te joins un exemple avec un contrôle activex, en espérant que ça t'aidera:

Tu peux lire le code en faisant un clic droit sur le bouton puis en cliquant sur "visualiser le code"

Non désolé cela ne m'aide pas car ce n'est pas un déplacement vers la gauche ou la droite qui se produit.

en fait il ne faut pas de modification au niveau de la ligne "3" mais bien un déplacement vers la gauche ou vers la droite en fonction de la date déjà présente en "B1" car il est vrai dans l'exemple que j'ai donner on a que le mois et l'année mais dans mon tableau ce sont des dates complètes.

Ce qui veut dire que si dans la case "B3" on est a la date de Août-18 si je clic une fois vers le haut j'aurai dans la case "B3" Sept-18

Désolé si je ne suis pas assez clair n'hésitez pas poser des questions j'essayerais de vous expliquer mieux ce que je souhaiterais

Bonjour,

Est-ce que je m'approche de la solution souhaitée?

Je ne savais pas si les dates à côté devaient suivre, et si il fallait ajouter une colonne ou non, du coup j'ai juste mis une formule sur les cellules suivantes pour décaler d'un mois à chaque fois.

Merci de me dire si cette fois c'est bon ou non.

Non ce n'est pas encore ça malheureusement en fait je ne souhaite pas que les dates de la ligne "3" changent elles doivent rester comme ça car dans mon tableau d'origine il y a d'autres données sous ces dates et en fait je souhaite utiliser ce boutons pour modifier juste la case B1

j'ai refait un exemple dans le nouveau fichier lier avec des dates aléatoire donc pas de lien entre elle.

Je voudrais en fait qu'a partir de la date déjà affichée en B1 (09/03/2018) que si j'appuie sur le bouton du haut j'ai la date 15/03/2018 qui se mette en B1 ... ou si j'appuie vers le bas ça soit la date 15/02/2018 qui se mette en B1

Jespère avoir été plus clair je me rend compte que ce n'est pas facile a expliquer comme ça.

merci d'avance a vous

Ah d'accord, je comprends mieux ce que tu veux faire, en fait tu veux pouvoir passer de la date actuelle à la suivante, en fonction de ce que tu as renseigné, et que ça s'affiche en B1, cette fois le fichier devrait être bon alors, je te passe les lignes de code:

Private Sub SpinButton1_Change()
SpinButton1.Min = 1
SpinButton1.Max = Columns.Count
End Sub

Private Sub SpinButton1_SpinDown()
If Cells(3, SpinButton1) = "" Then
    If Cells(3, 1) <> "" Then
        SpinButton1 = 1
    Else
        SpinButton1 = Cells(3, 1).End(xlToRight).Column
    End If
End If

Range("B1") = Cells(3, SpinButton1)
End Sub

Private Sub SpinButton1_SpinUp()
If Cells(3, SpinButton1) = "" Then
    SpinButton1 = Cells(3, Columns.Count).End(xlToLeft).Column
End If

Range("B1") = Cells(3, SpinButton1)
End Sub

Ainsi que le fichier:

J'ai choisi le comportement de la macro quand tu arrives à la première date, ou à la dernière et que tu veux sortir des limites, ça reste sur la case actuelle si la suivante est vide, de cette façon, tu n'auras pas de problèmes, le minimum du contrôle c'est 1, comme ça tu ne pourras pas non plus aller chercher une colonne qui n'existe pas dans le fichier (colonne 0 par exemple).

Je te laisse voir tout ça

Oh c'est Nickel ça un grand merci c'est top top je vais pouvoir bien avancer avec ça

mon problème est donc résolu je vous adore

@plus Rastaman

juste une petite précision si je dois changer le numéro de la ligne dans le code VBA je dois changer tous les endroits ou il y a le chiffre 3 par l'autre ligne ??

Rebonjour,

En théorie oui, en revanche, si tu dois y faire régulièrrement, il vaut mieux remplacer ça par une variable et lui donner une valeur en début de programme, ce qui fera que ce sera plus rapide à modifier.

Merci d'avoir passé le sujet en résolu, bonne continuation

Rechercher des sujets similaires à "incrementer date fonction liste"