Pourriez-vous m'aider, je début en VBA et suis un peu perdu !
J'ai un fichier qui se compose comme suit :
A l'ouverture, il possède deux feuilles (feuille"1"et feuille "Quantité" toutes deux protégées sans mot de passe), la feuille"1" apparaît en première position, la feuille "Quantité" reste masquée tout au long de l'encodage et est appelée en fin de traitement.
A l'usage l'utilisateur va pouvoir ajouter un nombre variable de feuilles (protégées également sans mot de passe) entre la feuille"1" et la feuille"Quantité".
En fin de traitement, j'aimerais à l'aide d'une macro supprimer toutes les feuilles ajoutées et ne garder que la feuille"1" et "Quantité", ensuite effacer les données introduites dans la feuille "1" et fermer le programme sans sauvegarder celui-ci.
En pièce jointe une version simplifiée de mon projet.
Bonjour,
Ce prg va servir pour faire des relevés différents à chaque ouverture du fichier.
J'ai inclus une sauvegarde en PDF à la fin de l'encodage, ce fichier se compose de deux feuilles au démarrage et il doit rester ainsi à chaque utilisation.
Si vous utilisez souvent la même disposition ou les mêmes données dans un classeur, enregistrez-le en tant que modèle afin de pouvoir utiliser le modèle pour créer d’autres classeurs au lieu de partir de zéro.
Sub RAZ()
Dim ws As Worksheet, fs
fs = Array("1", "Quantité")
Application.DisplayAlerts = False
For Each ws In Worksheets
If IsError(Application.Match(ws.Name, fs, 0)) Then
ws.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
Test OK sur un classeur sans feuilles protégées
Dam1904, je te laisse donc faire les adaptations idoines pour utilisation avec des feuilles protégées.