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

Laurent P -  
 Laurent P -
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.

1 réponse

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
    1. Laurent P
       
      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