VBA- Si format DATE alors Copier valeur - en automatique à l'enregistrement

  • Initiateur de la discussion Initiateur de la discussion marion0585
  • 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 !

M

marion0585

Guest
Bonjour,

Je bloque sur une macro:

comme son nom l'indique je voudrais que cette macro s'effectue en automatique.
Je vous la code en langage normal, j'espère que vous pourrez m'aider.

1. recheche dans la plage $F$2:$F$40 les cellules qui contiennent une date (sachant que dans la colonne j'ai cette formule =SI(C13="OK";AUJOURDHUI();"") )
2. à chaque fois que je trouve une date, je la copie colle valleur. (que sur cette cellule pour ne pas écraser ma formule)
3. cette opération doit s'effectuer à chaque fermeture du fichier en automatique.

Merci d'avance pour votre aide
 
Re : VBA- Si format DATE alors Copier valeur - en automatique à l'enregistrement

Bonjour marion0585,

Code à écrire dans le module "ThisWorkbook" :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each cel In Range("F2:F40")
     If IsDate(cel.Value) Then
         ...
     End If
Next
End Sub
Tu remplaces les points de suite (...) par ton code copier-coller.

Espérant avoir répondu.

Cordialement.
 
Re : VBA- Si format DATE alors Copier valeur - en automatique à l'enregistrement

Merci beaucoup,

Pourriez-vous me dire quelle tant du fichier, l'instruction pour que celà copie automatiquement avant de fermé le fichier ou alors en sauvegardant mon fichier?
 
Re : VBA- Si format DATE alors Copier valeur - en automatique à l'enregistrement

j'ai trouvé une autre solution.
On evite la boucle, et j'enregistre avant de sauvegarder (plus sûr)

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If MsgBox("Etes-vous certain de vouloir enregistrer vos données?", 36, "Confirmation") = vbNo Then
Cancel = True
End If
'
Application.Goto Reference:="Statut"
Selection.Copy
Application.Goto Reference:="Statut_bis"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.ScrollColumn = 2
Range("H1").Select


End Sub



Merci beaucoup en tout cas de votre aide
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
662
C
Réponses
5
Affichages
1 K
Cocoraphsg
C
T
  • Question Question
Réponses
125
Affichages
14 K
A
Réponses
2
Affichages
1 K
M
Réponses
1
Affichages
8 K
melvin
M
C
Réponses
1
Affichages
4 K
Conrad13
C
E
Réponses
2
Affichages
1 K
E
Retour