Bonjour,
J'ai longuement cherche sur les forums anglais, mais je n'ai pas trouve une solution qui convienne a mon probleme et la programation VBA depasse mes connaissances. Peut etre pourrez vous m'aider.
J'utilise une version anglaise de excel (si jamais ca change quelque chose).
Alors voila :
Dans ma feuille en colonne A l'utilisateur peu choisir entre "YES" et "NO". Par defaut c'est "NO". J'aimerai qu'au moment ou il choisi "YES", cela inscrive la date dans la colone B. Et que cette date reste fixe.
C'est la tout mon probleme, j'ai trouve sur un forum une proposition de fonction fixeddate()
Mais au final la cellule est recalcule a chaque ouverture ou fermeture du document et la date n'est donc pas fixe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Function FixedDate() FixedDate = Date End Function
J'ai par la suite trouve des codes VBA du style :
Mais cela ne correspond pas exactement a ce que je cherche et je ne comprend pas suffisament le code pour le modifier a mes besoins.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("B1:B20"), Target) Is Nothing Then Target.Offset(0, -1).Value = Format(Now, "mm-dd-yy hh:mm:ss") End If End Sub
Pourriez vous me conseiller. Je peu modifier ma feuille si cela facilite le code. Le principe est que sur validation d'une etape cela inscrive la date dans une case et que celle-ci ne change plus.
Ainsi dans ma feuille actuelle les colones H,J,N et Q cherche a obtenir une date fixe quand la colone precedente indique "YES". De meme pour la colone X quand la colone I indique "COMPLETED". Toutes ces cellules contiennent une date esperee que je voudrais ecraser par la date relle.
Merci d'avance pour votre aide.
Cordialement,
Gea
Partager