Problème de code avec VBA pour acvoir une date figée

  • Initiateur de la discussion Initiateur de la discussion agnes95
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

agnes95

XLDnaute Nouveau
Bonjour à tous,

Mon problème est fréquent mais néanmoins je ne trouve pas de post qui reponde entièrement à ma problématique.

Je vais essayer d'être claire (c'est pas gagné) : Je dois réaliser un fichier qui repondent à la problématique suivante :

Colonne A : Emission = "oui" ou "non" : c'est une liste déroulante
Colonne B : Commentaires : Liste déroulante
Colonne C : Date commentaire si colonne B non vide
Colonne D : Date d'émission si colonne A = Oui (si non = Rien)

Mon problème est sur les colonnes C et D, en effet si je mets une simple fonction aujourd'hui, la date sera modifié à chaque ouverture du fichier hors moi je veux que cela soit figé.
Je sais que c'est en VBA qu'on peux faire ca, j'ai trouver un code mais celui repond que pour un de mes problèmes mais pas les deux.
Si une âme charitable pouvait m'aider ce serait un soulagement.
En espérant avoir été claire.
 
Re : Problème de code avec VBA pour acvoir une date figée

bonjour,

t'aider sur ce souci, pas de prob mais si tu pouvais nous fournir un petit fichier, qu'on ne travaille pas dans le vide
question : que veux-tu faire de tes données une fois les colonnes renseignées ?
 
Re : Problème de code avec VBA pour acvoir une date figée

Bonjour.
Modifiez comme ceci la procédure déjà en place:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 27 Then
   If Target.Value = "Oui" Then
      Range("AB" & Target.Row).Value = Now
   ElseIf Target.Value = "Non" Then
      Range("AA" & Target.Row).Value = Now
      End If
   End If
End Sub
À +
 
Re : Problème de code avec VBA pour acvoir une date figée

En fait le problème avec ce code, c'est que je veux pas que quand il y est non a la colonne 27 il mette une date, ce que je veux c'est ca en gros :

Si colonne 26 = Oui il me mette une date à la colonne AC (si "non" ou vide alors rien)
Si colonne 27 = Commentaires il me mette une date à la colonne AB (si "vide" alors rien)
A votre avi cela est il possible?

merci merci
 
Re : Problème de code avec VBA pour acvoir une date figée

Oui, c'est presque plus simple : il suffit de l'écrire comme vous le dites mais traduit en VB :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 26 Then
   If Target.Value = "Oui" Then Range("AC" & Target.Row).Value = Now Else Range("AC" & Target.Row).ClearContents
ElseIf Target.Column = 27 Then
   If Target.Value <> "" Then Range("AB" & Target.Row).Value = Now Else Range("AB" & Target.Row).ClearContents
   End If
End Sub
Remarque : vous parlez toujours de la date, or j'ai vu Now dans la procédure initiale.
J'ai repris Now alors, c'est l'heure en fait, c'est plus précis, et on peut toujours avoir un format qui ne la montre pas.
À +
 
Re : Problème de code avec VBA pour acvoir une date figée

Bonjour

Une autre forme d'écriture
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 26
Target.Offset(, 3) = IIf(Target = "Oui", Now, vbNullString)
Case 27
Target.Offset(, 1) = IIf(Not IsEmpty(Target), Now, vbNullString)
End Select
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème Code VBA
Réponses
9
Affichages
387
Retour