VB-Condidtion sur la date d'ouverture de fichier

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 !

TheProdigy

XLDnaute Impliqué
Bonjour,

Je voudrais savoir comment programmer qu'à l'ouverture du fichier de vérifier si la date d'ouverture est supérieur à une date donnée (31/12/2007) à 00h00 et donc il va falloir supprimer la feuil2

Merci
 
Re : VB-Condidtion sur la date d'ouverture de fichier

bonjour alprodigy

A tester

Code:
Private Sub Workbook_Open()
Application.DisplayAlerts = False
 If Date > CDate("31/12/2007") Then Sheets("Feuil2").Delete
Application.DisplayAlerts = True
End Sub

nb: les lignes
Application.DisplayAlerts
permettent d'eviter la demande de confirmation avant suppression
 
Re : VB-Condidtion sur la date d'ouverture de fichier

bonjour

code à placer dans ThisWorkbook
Code:
Private Sub Workbook_Open()
 If Now > #12/31/2007# Then
   Application.DisplayAlerts = False
   Sheets("Feuil2").Delete
   Application.DisplayAlerts = True
End If
End Sub
cordialement

EDIT bonjour pierrejean, à quelques secondes 😀
 
Re : VB-Condidtion sur la date d'ouverture de fichier

re

toujours à placer dans ThisWorkbook, la partie la plus importante du code étant la recherche du chemin du Bureau.
Code:
 Option Explicit

 ' déclaration Api pour trouver le chemin du Bureau
 Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
 Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long

 Private Type SHITEMID
 cb As Long
 abID As Byte
 End Type

 Private Type ITEMIDLIST
 mkid As SHITEMID
 End Type

 'Constantes
  Const NOERROR = 0
  Const CSIDL_DESKTOP = &H0 '{desktop}

Function Cherche_Chemin(Param As Long) As String
 Dim RetVal As Long
 Dim Path As String ' déclaration des variables nécessaires
 Dim IDL As ITEMIDLIST

 RetVal = SHGetSpecialFolderLocation(0, Param, IDL) ' appel de la fonction api
If RetVal = NOERROR Then
 Path = Space(512) ' taille du tampon
 RetVal = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path)
 Cherche_Chemin = Left(Path, InStr(Path, Chr(0)) - 1) ' extraction du chemin
Else
 Cherche_Chemin = ""
End If
 End Function

Private Sub Workbook_Open()
 If Now > #11/30/2007# Then
   Application.DisplayAlerts = False
   Sheets("Feuil2").Delete
   Application.DisplayAlerts = True
   'enregistrement d 'une copie sur le bureau
   ThisWorkbook.SaveCopyAs Cherche_Chemin(CSIDL_DESKTOP) & Application.PathSeparator & "2" & ThisWorkbook.Name
   'fermeture et enregistrement du classeur
   ThisWorkbook.Close True
End If
End Sub
cordialement
 
Re : VB-Condidtion sur la date d'ouverture de fichier

re

Code:
Application.DisplayAlerts = True
cela t'évite d'avoir un message de précisant que tu vas supprimer une feuille ... (pour ce code)

ensuite, tu remets à True pour ne pas avoir de surprises.

cordialement
 
Re : VB-Condidtion sur la date d'ouverture de fichier

Merci pour l'explication
Je poserai le problème autrement.
pourrait-on avoir un enregistrement dudit fichier CAD comme si j'appuie sur le bouton en haut à gauche "Enregistrer" qui a l'image d'une disquette.
Je veux arriver à ce qu'on me demande pas "voulez vous enregistrer les modifications?" lors de la fermuture. et ne pas donner l'importance à l'emplacement. pas la peine d'enregistrer dans le bureau et chercher le chemin
Juste dans son emplacement source tel qui'il parait sur l'écran.
De sorte à ce qu'on me demande pas "voulez vous enregistrer les modifications?"
Je vous rappelle le code

Private Sub Workbook_Open()
If Now > #12/31/2007# Then
Application.DisplayAlerts = False
Sheets("Feuil2").Delete
Application.DisplayAlerts = True
End If
End Sub
Merci
 
Re : VB-Condidtion sur la date d'ouverture de fichier

Merci mais la ligne que tu viens de me citer concerne la fermuture.
Alors qu'avant la fermeture il faut enregistrer CAD l'équivalent de l'appui sur le bouton en haut à gauche "Enregistrer" qui a l'image d'une disquette sous language VBA EXCEL
Voilà je veux la traduction de l'enregstrement sous VB
Merci infiniment
 
Re : VB-Condidtion sur la date d'ouverture de fichier

re si tu utilises l'aide en appuyant sur la touche F1
expression.Close(EnregistrerModifications, NomFichier, ItinéraireClasseur)
tu verras que le True signifie que tu enregistres avant de fermer le classeur.
Si cela ne te convient pas, utilise l'éditeur de macros.
@+
 
Dernière édition:
Re : VB-Condidtion sur la date d'ouverture de fichier

Je te remerci Fred pour le code que tu ma donné que je trouve excellent
Option Explicit

' déclaration Api pour trouver le chemin du Bureau
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
.........
...........
............

Permettez moi de vous demander une dernière question si vous permettez et désolé pour le dérangement
est-ce qu'on pourrait adapter le code de telle sorte que quand on veut le reouvrir une deuxième fois il ne donne pas de débaguage ce qui est normal puisque la feuille 2 a déjà été supprimée une fois la date répond au critère.
Maintenant que la feuille est supprimé comment pourrait-on reouvrir?
 
Re : VB-Condidtion sur la date d'ouverture de fichier

re

Code:
 Private Sub Workbook_Open()
[B][COLOR=Navy] on error resume next[/COLOR][/B]
If Now > #12/31/2007# Then
   Application.DisplayAlerts = False
   Sheets("Feuil2").Delete
   Application.DisplayAlerts = True
End If
[B][COLOR=Navy] on error goto 0[/COLOR][/B]
End Sub
PS n'hésite pas à utiliser les balises "code" le bouton avec un dièse (#) pour insérer du code, c'est plus lisible.

cordialement
 
- 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
Réponses
12
Affichages
520
Retour