Suppression des données d'un fichier par macro

Bonjour,

Je suis toute nouvelle sur ce forum, je ne connais absolument pas le VBA et je ne sais même pas si ce que je souhaite est possible.

Voici mon problème :

J'ai mis en place un planning d'absence pour le personnel de ma société qui me permet de décompter les congé payés, les RTT et les autres absences diverses.

Je souhaiterais pouvoir paramétrer mon fichier de façon à ce que l'ensemble des données de tous les onglets (les formules de calcul en particulier) sauf celles de l'onglet "Données" s'effacent à l'ouverture du fichier, à une date précise.

De plus, je souhaiterais qu'après cette manipulation, le fichier s'enregistre automatiquement.

Je remercie d'avance les plus chevronnés d'entre vous pour votre aide.

Bien cordialement.

Bonjour,

Attention, avec ce code toutes les valeurs seront supprimées des feuilles autres que "Données". A faire un test sur une copie de classeur et bien sûr, adapter la date butoir. A mettre dans le module du classeur (ThisWorkbook). Ce code peut être lancer manuellement pour le test en plaçant le curseur dans le code puis touche F5 :

Private Sub Workbook_Open()

    Dim Fe As Worksheet
    Dim LaDate As Date

    LaDate = CDate("01/10/2017") 'la date peut êtrer entrée dans une cellule par exemple

    If Date >= LaDate Then

        For Each Fe In Worksheets

            If Fe.Name <> "Données" Then

                Fe.Cells.Clear

            End If

        Next Fe

    End If

    ThisWorkbook.Save

End Sub

Bonjour,

Votre macro fonctionne à merveille.

Cependant, j'ai l'habitude de protéger certains onglets et du coup, là ça ne fonctionne plus.

Est-il possible de rajouter à la macro le fait de supprimer les données, même sur une feuille protégée.

Encore merci pour votre aide.

Bien cordialement.

Bonjour,

Il te faut ôter le protection avant la suppression puis la rétablir (indique le bon mot de passe) ::

Private Sub Workbook_Open()

    Dim Fe As Worksheet
    Dim LaDate As Date
    Dim Protection As Boolean

    LaDate = CDate("01/10/2017") 'la date peut êtrer entrée dans une cellule par exemple

    If Date >= LaDate Then

        For Each Fe In Worksheets

            If Fe.Name <> "Données" Then

                Protection = Fe.ProtectContents 'teste si protégée afin de pouvoir remettre en place la protection

                Fe.Unprotect "Mot de Passe" 'ôte la protection adapter le mot de passe (n'a aucun effet si la feuille n'est pas protégée)
                Fe.Cells.Clear

                If Protection = True Then Fe.Protect "Mot de Passe" 'remet la protection (ton mot de passe entre les guillemets)

            End If

        Next Fe

    End If

    ThisWorkbook.Save

End Sub

Bonsoir,

Merci, c'est exactement ce que je voulais obtenir.

Bien cordialement.

Rechercher des sujets similaires à "suppression donnees fichier macro"