Se connecter avec
S'enregistrer | Connectez-vous

macros pour ne plus imprimer à partir d'une date

Dernière réponse : dans Programmation

salut les codeurs fous!!! :pt1cable: 

ne sachant faire que des maros enregistrement d'etapes qui satisfait ma direction ...

il me faut une macro qui:

jusquà une date limite le fichier xls s'ouvre et on enregistre dessus sans problème
passer la date limite la macro:

1er solutions: efface tout le contenu des feuilles du fichier meme protégé par un mot de passe puis se ferme automatiquement
ou
2éme: laisse le fichier intacte mais bloque les impressions de toutes les feuilles (impossibilité de choisir une imprimante, le ctrl+p ne marchant plus)

je préfère le n2 ça passera mieux aupès de ma direction. si ça imprime plus.

Merci par avance

cad37

PS Merci à zeb pour le début de l'entretien... :hello: 

Autres pages sur : macros imprimer partir date

Lassé par la pub ? Créez un compte

ccp??? :??: 
je ne connais pas
le mieux pour mon niveau serait que je fasse un copié coller du code dans une macros qui se lance automatiquement dès l'ouverture du fichier comprenant la macro.
ni connaissant pas grand chose.
CAD37
Expert Programmation

La solution 2 n'est pas possible, on peut toujours imprimer....
Tu veux un fichier qui s'auto-détruise ? :lol: 

Une macro ne peut pas supprimer le classeur au sens du système.

Bon, il te reste donc la possibilité de vider chaque onglet et s'enregistrement.

L'enregistreur de macro devrait t'aider. Poste ton code quand il ressemble à quelque chose, on t'aidera à en faire un truc utile ;) 

  1. Sub Macro2()
  2. '
  3. ' Macro2 Macro
  4. ' Macro enregistrée le 04/10/2006 par -
  5. '
  6.  
  7. '
  8. Sheets("Feuil2").Select
  9. Cells.Select
  10. Selection.ClearContents
  11. Selection.ColumnWidth = 2
  12. Selection.RowHeight = 6.75
  13. Sheets("Feuil3").Select
  14. Cells.Select
  15. Selection.ClearContents
  16. Selection.ClearContents
  17. Selection.ClearContents
  18. Selection.ClearContents
  19. Selection.ClearContents
  20. Selection.ClearContents
  21. Selection.ClearContents
  22. Selection.ClearContents
  23. Selection.ClearContents
  24. Selection.ClearContents
  25. Selection.ClearContents
  26. Selection.ColumnWidth = 1.71
  27. Selection.RowHeight = 10.5
  28. Sheets("Feuil1").Select
  29. Cells.Select
  30. Selection.ClearContents
  31. Selection.ColumnWidth = 2
  32. Selection.RowHeight = 12
  33. Range("A1").Select
  34. End Sub


je ne peux faire que ça mais ce n'est pas ce que je veux :cry: 
je ne sais pas inséré la date ou la macro se met en route
et qu'elle se lance automatiquement.

le problème aussi est que si quelqu'un ouvre la macro il voit le but de celle-ci :non:  :fou:  et çà c'est ma pas bon pour moi...
une solution furtive serait très bien,
ou des lignes de commande mélangés à d'autres qui ne sert à rien ou qui génère une date un truc inutile pour me couvrir.

Voila tout :sweat:  :sweat: 

ne trouvant aucune solution tout en lisant les autres sujets, je ne sais comment faire

une autre macro laissant le fichier intacte mais qui imprime une page blanche
au lieu la sélection prédéfini, n imprimé plus qu'une cellule soit "rein"
cela me conviendrait

toujours le souci de lancer la macro à une date précise celle ci qui sur chaque feuille donne en impression la cellule A1

COMPRENDO TYPE

  1. Sub Macro1()
  2. '
  3. ' Macro1 Macro
  4. ' Macro enregistrée le 05/10/2006 par -
  5. '
  6.  
  7. '
  8. ActiveWindow.View = xlPageBreakPreview
  9. Range("A1").Select
  10. ActiveSheet.PageSetup.PrintArea = "$A$1"
  11. End Sub


Mais le souci c'est qu' il me demande de cliqué OK pour faire ce que je veux

Rien n'est automatique et ça me blaze :fou:  :fou:  :fou:  :pfff: 

QUE FAIRE???

CAD37
Expert Programmation

RpF_LiGhT a dit :
  1. Sub Macro2()
  2. '
  3. ' Macro2 Macro
  4. ' Macro enregistrée le 04/10/2006 par -
  5. '
  6.  
  7. '
  8. Sheets("Feuil2").Select
  9. Cells.Select
  10. Selection.ClearContents
  11. Selection.ColumnWidth = 2
  12. Selection.RowHeight = 6.75
  13. Sheets("Feuil3").Select
  14. Cells.Select
  15. Selection.ClearContents
  16. Selection.ClearContents
  17. Selection.ClearContents
  18. Selection.ClearContents
  19. Selection.ClearContents
  20. Selection.ClearContents
  21. Selection.ClearContents
  22. Selection.ClearContents
  23. Selection.ClearContents
  24. Selection.ClearContents
  25. Selection.ClearContents
  26. Selection.ColumnWidth = 1.71
  27. Selection.RowHeight = 10.5
  28. Sheets("Feuil1").Select
  29. Cells.Select
  30. Selection.ClearContents
  31. Selection.ColumnWidth = 2
  32. Selection.RowHeight = 12
  33. Range("A1").Select
  34. End Sub


je ne peux faire que ça mais ce n'est pas ce que je veux :cry: 
je ne sais pas inséré la date ou la macro se met en route
et qu'elle se lance automatiquement.

le problème aussi est que si quelqu'un ouvre la macro il voit le but de celle-ci :non:  :fou:  et çà c'est ma pas bon pour moi...
une solution furtive serait très bien,
ou des lignes de commande mélangés à d'autres qui ne sert à rien ou qui génère une date un truc inutile pour me couvrir.

Voila tout :sweat:  :sweat: 


Grr... Pas de Select/Selection. L'utilisateur ne verra rien.
Il y a plein de trucs à virer après un passage par l'enregistreur de macros. Et comprendre chaque ligne. Il en reste qu'il te faut faire quelque chose comme ça :

For i = 1 to Sheets.Count
Sheets(1).Cells.ClearContents
Next


Pour lancer une macro au démarrage, utilise l'événement Open de l'objet ThisWorkbook. Tu devrais obtenir la procédure Workbook_Open
Lassé par la pub ? Créez un compte