A
Alyre
Guest
Bonjour le forum
je vien vous demander encore de l'aide pour résoudre mon petit problème
je sais que pour vous c'est tres simple, mais pas pour moi
voici en (C2) j'ai une Formule (=AujourdHui) qui donne la Date , tout marche tres bien pour copier la date dans la feuil (Mois)
mais a chaque fois que j'ouvre mon classeur la date se remet a jour.
je voudrais que la date soi figé, qu'elle ne change pas, apres l'avoir copier
ws.Range("C2").Copy ws1.Range("A" & L2 + 1) 'copie la date
Merci a l'avance
' Copie les données de Order Form dans le Mois courant
Sub copie()
Dim ws, ws1 As Worksheet
Dim L1, L2 As Integer
Application.ScreenUpdating = True 'évite les traitements de la macro à l'écran
1
For i = 1 To Sheets.Count
If Sheets(i).Name = "Order Form" Then
Set ws = Sheets("Order Form") 'la variable worksheet ws sera Order form
L1 = ws.Range("A39").End(xlUp).Row 'derniere ligne non vide dans Order form
GoTo 2
End If
Next i
If i = Sheets.Count Then MsgBox "LA FEUILLE ORDER FORM N'EXISTE PAS", vbCritical, "ERREUR DE NOM DE FEUILLE"
GoTo sortie
2
ws.Activate
With ws
If IsDate(Range("C2")) Then 'Test pour voir si C2 contient bien une date
k = Month(Range("C2")) 'on récupère le mois
GoTo 3
Else: MsgBox "LA CELLULE C2 N'EST PAS UNE DATE", vbCritical, "ERREUR DE SAISIE"
Range("C2").Select
GoTo sortie
End If
End With
3
If k + 2 > Sheets.Count Then
MsgBox "UNE FEUILLE MOIS N'EXISTE PAS", vbCritical, "ERREUR DE MOIS"
GoTo sortie
Else:
Set ws1 = Sheets(k + 2)
L2 = ws1.Range("B65536").End(xlUp).Row + 1 'Premeière ligne non vide dans une des feuilles mois
Sheets(k + 2).Select
ActiveSheet.Unprotect
ws.Range("A20:H" & L1).Copy ws1.Range("B" & L2 + 1) 'copie de la plage
ws.Range("C2").Copy ws1.Range("A" & L2 + 1) 'copie la date
ActiveSheet.Protect
Sheets(k + 2).Select
End If
sortie:
Application.ScreenUpdating = True
End Sub
@ ++ alyre
je vien vous demander encore de l'aide pour résoudre mon petit problème
je sais que pour vous c'est tres simple, mais pas pour moi
voici en (C2) j'ai une Formule (=AujourdHui) qui donne la Date , tout marche tres bien pour copier la date dans la feuil (Mois)
mais a chaque fois que j'ouvre mon classeur la date se remet a jour.
je voudrais que la date soi figé, qu'elle ne change pas, apres l'avoir copier
ws.Range("C2").Copy ws1.Range("A" & L2 + 1) 'copie la date
Merci a l'avance
' Copie les données de Order Form dans le Mois courant
Sub copie()
Dim ws, ws1 As Worksheet
Dim L1, L2 As Integer
Application.ScreenUpdating = True 'évite les traitements de la macro à l'écran
1
For i = 1 To Sheets.Count
If Sheets(i).Name = "Order Form" Then
Set ws = Sheets("Order Form") 'la variable worksheet ws sera Order form
L1 = ws.Range("A39").End(xlUp).Row 'derniere ligne non vide dans Order form
GoTo 2
End If
Next i
If i = Sheets.Count Then MsgBox "LA FEUILLE ORDER FORM N'EXISTE PAS", vbCritical, "ERREUR DE NOM DE FEUILLE"
GoTo sortie
2
ws.Activate
With ws
If IsDate(Range("C2")) Then 'Test pour voir si C2 contient bien une date
k = Month(Range("C2")) 'on récupère le mois
GoTo 3
Else: MsgBox "LA CELLULE C2 N'EST PAS UNE DATE", vbCritical, "ERREUR DE SAISIE"
Range("C2").Select
GoTo sortie
End If
End With
3
If k + 2 > Sheets.Count Then
MsgBox "UNE FEUILLE MOIS N'EXISTE PAS", vbCritical, "ERREUR DE MOIS"
GoTo sortie
Else:
Set ws1 = Sheets(k + 2)
L2 = ws1.Range("B65536").End(xlUp).Row + 1 'Premeière ligne non vide dans une des feuilles mois
Sheets(k + 2).Select
ActiveSheet.Unprotect
ws.Range("A20:H" & L1).Copy ws1.Range("B" & L2 + 1) 'copie de la plage
ws.Range("C2").Copy ws1.Range("A" & L2 + 1) 'copie la date
ActiveSheet.Protect
Sheets(k + 2).Select
End If
sortie:
Application.ScreenUpdating = True
End Sub
@ ++ alyre