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

Ilino

XLDnaute Barbatruc
Bonjour Forum
Ciao a tutti .. Ciao Forum
Mission Impossible
Je cherche un code qui fait supprimer toutes les données des onglets après une date bien définie est il possibl ???🙄
Grazie
 
Re : Mission Impossible

Bonjour Ilino
A mettre dans le ThisWorkbook:
VB:
Private Sub Workbook_Open()
Dim Sh As Worksheet
If Date >= DateSerial(2013, 12, 25) Then
    For Each Sh In ThisWorkbook.Sheets
        Sh.UsedRange.Clear
    Next Sh
End If
ThisWorkbook.Save
End Sub
A partir du 25/12/2013 tout est effacé.

ATTENTION c'est sans retour

Cordialement
 
Re : Mission Impossible

Re
Avec ça (je ne me rappel plus de l'auteur, désolé) tu n'auras plus RIEN, même pas ce code (mission impossible disais tu ? hé bien le code s'autodétruit 😀)
VB:
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim VBC As Object
If Date >= DateSerial(2013, 9, 8) Then
    With ActiveWorkbook.VBProject
        For Each VBC In .VBComponents
            If VBC.Type = 100 Then
                With VBC.CodeModule
                .DeleteLines 1, .CountOfLines
                .CodePane.Window.Close
                End With
            Else: .VBComponents.Remove VBC
            End If
        Next VBC
    End With
    For Each Sh In ThisWorkbook.Sheets
        Sh.UsedRange.Clear
    Next Sh
End If
ThisWorkbook.Save
End Sub
Cordialement
 
Re : Mission Impossible

Re
Changement de méthode, on détruit tout pour ne laisser qu'une feuille vierge:

VB:
Private Sub Workbook_Open()
Dim I&
Dim VBC As Object

If Date >= DateSerial(2013, 9, 8) Then
    Sheets.Add After:=Sheets(Sheets.Count)
    With ActiveWorkbook.VBProject
        For Each VBC In .VBComponents
            If VBC.Type = 100 Then
                With VBC.CodeModule
                .DeleteLines 1, .CountOfLines
                .CodePane.Window.Close
                End With
            Else: .VBComponents.Remove VBC
            End If
        Next VBC
    End With
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    For I = ThisWorkbook.Sheets.Count - 1 To 1 Step -1
        Sheets(I).Delete
    Next I
End If
ThisWorkbook.Save
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

P.S Bhein oui, TOM, mais pour le vieux que je suis c'est plutot JIM 😀

Cordialement
 
Dernière édition:
Re : Mission Impossible

Bonjour TOM
j'ai un autre soucis avec le code Mission Possibl
j'ai verrouillé le code vba ( j ai fait un mot de passe) mais ca n'as pas fonctionné ????
Graziz

PS : j ai un message d'erreur d’exécution 50289
Impossible d'effectuer cette opération tant que le projet est protégé ???😕
 
Dernière édition:
Re : Mission Impossible

Bonjour Ilino

Je ne connais pas de méthode pour déprotéger le projet VBA.
Les seules pistes que l'on trouve sur le net reposes sur des SendKeys (ce qui occasionne d'autres soucis).
Il est d'ailleurs logique que la déprotection d'un projet ne soit pas aussi simple que ça, non ?

Codialement
 
Re : Mission Impossible

Re
Tu as bien expliqué au contraire, mais si tu veux accéder au projet pour supprimer les codes et modules, il faut évidemment déprotéger le projet.
Donc, il faut le faire par macro, et cela n'est pas dans mes compétences.
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

Réponses
55
Affichages
1 K
  • Question Question
Microsoft 365 NFC et Excel
Réponses
1
Affichages
142
Réponses
5
Affichages
127
Retour