OVH Cloud OVH Cloud

Sauvegarde si condition acquiert

1 réponse
Avatar
Hua Seng
Bonsoir à tous,

J'ai un bout de code qui me fait une sauvegarde de mon classeur en 2 copies
différentes, mais j'aimerai ajouté qques lignes de codes, pour pouvoir
controler les données saisies sur une feuille nommé Détails, qui fait partir
du classeur, càd, vérifier les formats de date dans la colonne B27:Bx (
format jj/mm/aa ou jj/mm/aaaa et non jj.mm.aaaa ou jj.mm.aa ), si la colonne
B27:Bx n'est pas remplie de date, dont pas de sauvegarde, ceci est averti
pas un message visuel de type " DATE OBLIGATOIRE , Saisie les dates selon le
format jj/mm/aa ou jj/mm/aaaa ".

Voici le code :

Dim Copy1$, Copy2$, Copy3$, Classeur As Workbook

' Sauvegarde du fichier origine "Matrice_10104.xls"
ActiveWorkbook.Save

Sht_Name = Range("sh.name")
Nom_Etab = Range("Nom")
Date_Ana = Range("Date_Ana")
Wsht = Range("NomEtab")
Mois = Right("0" & Month(Date_Ana), 2)
Année = Right(Year(Date_Ana), 2)
repert1 = Sheets("Paramètres").Range("C9")
repert2 = Sheets("Paramètres").Range("C14")
repert3 = Sheets("Paramètres").Range("C19")

'1er sauvegarde
Copy1 = repert1 & "\" & Wsht & "_" & Sht_Name & ".xls"
ThisWorkbook.SaveCopyAs Copy1
Set Classeur = Workbooks.Open(Copy1)
DeleteAllCode
Sheets("Paramètres").Visible = False
Sheets("Détails").Shapes("Picture 7").Delete
Sheets("Détails").Range("C22").ClearContents
Sheets("10104").Select
Classeur.Close True

La question est : où je dois insérer le code de type
'=si("B27:Bx")<>format(Date(jj/mm/aa) ou format(Date(jj/mm/aaaa);"Sauvegarde
impossible, date obligatoire, saisie les dates seleon le format jj/mm/aa ou
jj/mm/aaaa'.

Merci d'avance pour votre guide.

Seng

1 réponse

Avatar
Starwing
Peut-être ceci:

Dans le module de la feuille...

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("b27:b65536")) Is Nothing Then
If IsDate(Target) = True Then
Target.NumberFormat = "dd/mm/yyyy"
End If
End If
End Sub

Starwing
"Hua Seng" a écrit dans le message de
news:
Bonsoir à tous,

J'ai un bout de code qui me fait une sauvegarde de mon classeur en 2
copies

différentes, mais j'aimerai ajouté qques lignes de codes, pour pouvoir
controler les données saisies sur une feuille nommé Détails, qui fait
partir

du classeur, càd, vérifier les formats de date dans la colonne B27:Bx (
format jj/mm/aa ou jj/mm/aaaa et non jj.mm.aaaa ou jj.mm.aa ), si la
colonne

B27:Bx n'est pas remplie de date, dont pas de sauvegarde, ceci est averti
pas un message visuel de type " DATE OBLIGATOIRE , Saisie les dates selon
le

format jj/mm/aa ou jj/mm/aaaa ".

Voici le code :

Dim Copy1$, Copy2$, Copy3$, Classeur As Workbook

' Sauvegarde du fichier origine "Matrice_10104.xls"
ActiveWorkbook.Save

Sht_Name = Range("sh.name")
Nom_Etab = Range("Nom")
Date_Ana = Range("Date_Ana")
Wsht = Range("NomEtab")
Mois = Right("0" & Month(Date_Ana), 2)
Année = Right(Year(Date_Ana), 2)
repert1 = Sheets("Paramètres").Range("C9")
repert2 = Sheets("Paramètres").Range("C14")
repert3 = Sheets("Paramètres").Range("C19")

'1er sauvegarde
Copy1 = repert1 & "" & Wsht & "_" & Sht_Name & ".xls"
ThisWorkbook.SaveCopyAs Copy1
Set Classeur = Workbooks.Open(Copy1)
DeleteAllCode
Sheets("Paramètres").Visible = False
Sheets("Détails").Shapes("Picture 7").Delete
Sheets("Détails").Range("C22").ClearContents
Sheets("10104").Select
Classeur.Close True

La question est : où je dois insérer le code de type
'=si("B27:Bx")<>format(Date(jj/mm/aa) ou
format(Date(jj/mm/aaaa);"Sauvegarde

impossible, date obligatoire, saisie les dates seleon le format jj/mm/aa
ou

jj/mm/aaaa'.

Merci d'avance pour votre guide.

Seng