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

XL 2016 Incrémentation d'une date automatique statique

RobyL

XLDnaute Junior
Bonjour,

je souhaite incrémenter une date dans un tableau lorsque j'écrit ok dans une case.
cette date ne bouge pas une fois que je l'ai valider.

je crois qu'il existe une formule mais là je pèche....

merci pour votre aide.
 

Pièces jointes

  • date incr.xlsx
    12 KB · Affichages: 6
Solution
Re,

Voici dans le module de code de la feuille (click-droit sur le nom de la feuille puis 'visualiser le code')
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 And Not Intersect(Target, Range("Tableau1[Validation19]")) Is Nothing Then
        If UCase(Target) = "OK" Then
            Application.EnableEvents = False
            Target.Offset(, 1) = Date
            Application.EnableEvents = True
        End If
    End If
End Sub

Bien sûr il faudra adapter le nom du tableau et de la colonne (Range("Tableau1[Validation19]") si vous les changez dans la feuille.

Cordialement

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,
je crois qu'il existe une formule mais là je pèche....
Une formule ? Pour ça, je ne crois pas.
Par contre un simple raccourci clavier : CTRL+; (Contrôle + Point-virgule) vous mettra la date dans la cellule de votre choix.

Cordialement
P.S. C'est obligatoire les majuscules dans votre titre ????? Ca casse les oreilles. Corrigez-le
 

RobyL

XLDnaute Junior
Bonjour,

un autre classeur valide et incrémente la case où il est marquer "ok" mais je doit savoir à quel date ce ok apparais dans cette case. surement en VBA alors.

cordialement.
PS désoler pour le titre
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Voici dans le module de code de la feuille (click-droit sur le nom de la feuille puis 'visualiser le code')
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 And Not Intersect(Target, Range("Tableau1[Validation19]")) Is Nothing Then
        If UCase(Target) = "OK" Then
            Application.EnableEvents = False
            Target.Offset(, 1) = Date
            Application.EnableEvents = True
        End If
    End If
End Sub

Bien sûr il faudra adapter le nom du tableau et de la colonne (Range("Tableau1[Validation19]") si vous les changez dans la feuille.

Cordialement
 

Pièces jointes

  • date incr.xlsm
    23.9 KB · Affichages: 4

RobyL

XLDnaute Junior
woua super solution.

Bonjour,
magnifique ça marche.
j'ai juste une requette si c'est possible.
la cellule où il ya le "ok" est une cellule avec un renvoie a une autre.
elle est incrémenter de : "=CALCUL!E4"
du coup cela ne fonctionne pas. il faut qu'il reconnais la valeur de cette cellule.

avez vous une solution ?
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Les questions à tiroirs (question dans la question dans la question....) ne sont pas pour moi.
J'ai répondu à la question telle que posée initialement avec l'exemple donné.
Je ne recommence pas.
 

RobyL

XLDnaute Junior
oui en effet et bravo comme je l'ai dit dans mon dernier message.
je penssais que juste changer l'info prise dans la cellule c'est à dire la valeur était pas trop complexe.
il faut que je crée une autre discution alors...
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Il faut utiliser l'évènement calculate de la feuille, et tester toutes les cellules de la colonne pour voir si après calcul de la formule, elles sont 'ok'.
Alors qu'avec l'évènement 'change' on ne teste que la cellule changée. Mais le calcul de formule, n'entraîne pas cet évènement.
Pensez à une autre solution.
 

Discussions similaires

Réponses
9
Affichages
370
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…