Incrémenter par macro la date d'une cellule sélectionnée,

Fermé
Laurent P - 16 mai 2016 à 03:06
 Laurent P - 16 mai 2016 à 16:36
Bonjour à tous et à toutes,

Je débute en macro, j'espère trouver de l'aide ici pour ce que je cherche à faire.

J'ai un tableau planning plein de dates, si je tape par exemple 16/05/16, le format de cellule affiche "lundi 16 mai 2016". Des mises en formes conditionnelles me surlignent mes doublons que je dois éviter.

Ce que j'aimerai, plutôt que de taper la date du lendemain, c'est me créer un bouton "Mettre à J+1" qui lancerait une macro incrémentant la case sélectionnée au jour suivant. Comme ça je peux rapidement tester des dates jusqu'à ne plus avoir de doublons.
Bien évidemment je ferais aussi une deuxième pour un bouton "Mettre à J-1" mais le modèle de la 1ere suffira.

Je sais créer un bouton, lui associer une macro, il ne me manque que la macro.

Merci d'avance pour votre aide.

A voir également:

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
16 mai 2016 à 06:15
Bonjour
Remplacez les valeurs des du tableau
Sub Incremente()
    Application.ScreenUpdating = False
    LbG = 2 'Limite bord gauche du tableau
    LbD = 20 'Limite bord droit du tableau
    LbH = 2 'Limite bord Haut du tableau
    LbB = 20 'Limite bord gauche du tableau
    'Si la cellule activeest en dehors des limites du tableau, alors on quitte le programme
    If ActiveCell.Row < LbH Or ActiveCell.Row > LbB Or ActiveCell.Column < LbG Or ActiveCell.Column > LbD Then Exit Sub
    ActiveCell.Value = ActiveCell.Value + 1
End Sub

Sub Decremente()
    Application.ScreenUpdating = False
    LbG = 2 'Limite bord gauche du tableau
    LbD = 20 'Limite bord droit du tableau
    LbH = 2 'Limite bord Haut du tableau
    LbB = 20 'Limite bord gauche du tableau
    'Si la cellule activeest en dehors des limites du tableau, alors on quitte le programme
    If ActiveCell.Row < LbH Or ActiveCell.Row > LbB Or ActiveCell.Column < LbG Or ActiveCell.Column > LbD Then Exit Sub
    ActiveCell.Value = ActiveCell.Value - 1
End Sub

Cdlt
0
Waouuuu !!
Déjà merci beaucoup d'avoir pris le temps de répondre et si vite.
En plus je n'avais pas pensé à donner des limites d'action à la macro, ça sera très utile
Je teste tout ça de suite

Cordialement
0