Autres impression automatique

Quicksland

XLDnaute Occasionnel
Bonsoir a tous :)

Serait il possible que dans le fichier ci-joint l impression se déclenche automatiquement ?

si oui il faudrait que l impression puisse se faire en fonction d une condition

la condition se trouve dans les casses " Bleu "

c'est a dire que si cellule vide " inferieur a 1 " pas d impression possible

et si cellule bleu " donc supérieur a 1 donc bleu " impression automatique

Merci pour votre aide 👍👍👍

A bientôt .....🤤
 

Pièces jointes

  • PIC NIC test.xlsx
    127.7 KB · Affichages: 6
Solution
RE..
Normal............
Ceci est demandé
et si cellule bleu " donc supérieur a 1 donc bleu " impression automatique
Donc
La macro fait exactement ce qui lui est demandée
Soit==> impression si supérieur à 1
Si tu souhaites aussi imprimer si il y a 1 dans les cellules, remplace cette ligne
If Cells(j, i) > 1 Then
Par
If Cells(j, i) > 0 Then
Bonjour Jacky

Je reviens vers toi pour te dire que tout fonctionne parfaitement ;)

Un grand merci pour tout 👍

Bon dimanche....

Jacky67

XLDnaute Barbatruc
Bonsoir a tous :)

Serait il possible que dans le fichier ci-joint l impression se déclenche automatiquement ?

si oui il faudrait que l impression puisse se faire en fonction d une condition

la condition se trouve dans les casses " Bleu "

c'est a dire que si cellule vide " inferieur a 1 " pas d impression possible

et si cellule bleu " donc supérieur a 1 donc bleu " impression automatique

Merci pour votre aide 👍👍👍

A bientôt .....🤤
Bonjour,
Une proposition avec ce code dans la feuille "LUNDI"
VB:
Sub imprimer()
    Dim i&, j&
    For j = 5 To 428 Step 47
        For i = 9 To 33 Step 8
            If Cells(j, i) > 1 Then
                Range(Cells(j - 3, i - 7), Cells(j + 43, i)).PrintPreview    'supprimer cette ligne après essai
                '  Range(Cells(j - 3, i - 7), Cells(j + 43, i)).PrintOut    'Valider cette ligne après essai
            End If
        Next
    Next
End Sub
 

Pièces jointes

  • PIC NIC test.xlsm
    152.4 KB · Affichages: 9

Quicksland

XLDnaute Occasionnel
Après avoir appuyer sur le bouton " imprimer " en haut de la feuille " lundi " une fenêtre s'ouvre ( voir photo )
non seulement il n'y a qu'une feuille a imprimer et je dois appuyer en haut a gauche pour imprimer ...
merci
 

Pièces jointes

  • 2.jpg
    2.jpg
    409.4 KB · Affichages: 14
  • PIC NIC test.xlsm
    126.9 KB · Affichages: 4

Jacky67

XLDnaute Barbatruc
Après avoir appuyer sur le bouton " imprimer " en haut de la feuille " lundi " une fenêtre s'ouvre ( voir photo )
non seulement il n'y a qu'une feuille a imprimer et je dois appuyer en haut a gauche pour imprimer ...
merci
Re..
Les instructions que j'avais mis dans le code, ici en rouge n'ont pas été suivies
'------------
Range(Cells(j - 3, i - 7), Cells(j + 43, i)).PrintPreview 'supprimer cette ligne après essai
' Range(Cells(j - 3, i - 7), Cells(j + 43, i)).PrintOut 'Valider cette ligne après essai
'-------------
Ce classeur en Pj imprime directement les feuilles dont les cellules en bleu sont plus grand que 1, sans passer par la visualisation avant impression.
 

Pièces jointes

  • PIC NIC test.xlsm
    144.8 KB · Affichages: 6
Dernière édition:

Jacky67

XLDnaute Barbatruc
oups :( désolé ...
je ne pensai pas qu'il y avait quelque chose a faire dans le code vba
tout fonctionne 👍
c'est super ...merci ;)
j'ai une autre question ...
Dans le fichier ci-joint j'ai une remise a zéro des cellules par un bouton
le problème est que quand je protège la feuille celui ci ne fonctionne plus
serait il possible qu'il fonctionne feuille protégé ?
et si c'est possible je suis preneur :)
en tout cas je te remercie pour l'aide apporté 👍
Re..
Nouveau classeur , nouvelle question = nouveau post
Mais bon......
C'est faisable....Mais
Il n'y a aucun code de suppression de données dans ce classeur
Ne sachant quoi supprimer, je ne m'y aventure pas....
 
Dernière édition:

Jacky67

XLDnaute Barbatruc
En fait il n'y a rien a supprimer je pense qu'il y a juste a rajouté quelque chose dans la vba du bouton pour que celui ci fonctionne même si la feuille est protégé
ci-joint le fichier source
RE
Pour autoriser le VBA, ici la macro attribué au bouton mise à jour sans se soucier de la protection.
Mettre ceci dans le ThisWorkbook
VB:
Private Sub Workbook_Open()
  Feuil2.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End Sub

Et pour la remise à zéro la macro pourrait ressembler à ceci (A placer dans le module de la feuille "PRINTEMPS")
Il faudra néanmoins refaire les cellules "Livraison" ou il y un "retour à la ligne" inutile
Code:
Sub REMISE_A_ZERO()
Dim C As Range
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
    For Each C In Range("c11:s104")
        If C = "ADULTES" Or C = "MATERNELLES" Or C = "ÉLÉMENTAIRES" Or C = "LIVRAISON" Or C = "HEURE" Then
            C.Offset(, 1) = ""
        End If
    Next
    With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
 

Pièces jointes

  • 1 CAMUS LA RIBAMBELLE.xlsm
    63.4 KB · Affichages: 6
Dernière édition:

Quicksland

XLDnaute Occasionnel
RE
Pour autoriser le VBA, ici la macro attribué au bouton mise à jour sans se soucier de la protection.
Mettre ceci dans le ThisWorkbook
VB:
Private Sub Workbook_Open()
  Feuil2.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End Sub

Et pour la remise à zéro la macro pourrait ressembler à ceci (A placer dans le module de la feuille "PRINTEMPS")
Il faudra néanmoins refaire les cellules "Livraison" ou il y un "retour à la ligne" inutile
Code:
Sub REMISE_A_ZERO()
Dim C As Range
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
    For Each C In Range("c11:s104")
        If C = "ADULTES" Or C = "MATERNELLES" Or C = "ÉLÉMENTAIRES" Or C = "LIVRAISON" Or C = "HEURE" Then
            C.Offset(, 1) = ""
        End If
    Next
    With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
 

Quicksland

XLDnaute Occasionnel
C'est vraiment du bon boulot 👍
Il y a juste un petit soucis ...
Quand la feuille est protégé il faudrait que je puisse avoir quand même accès au menu déroulant ( pain bagnat ) a la date du ( lundi ) et toutes les cellules ( Adultes, Maternelles ,Élémentaires, livraisons et heure )
 

Jacky67

XLDnaute Barbatruc
C'est vraiment du bon boulot 👍
Il y a juste un petit soucis ...
Quand la feuille est protégé il faudrait que je puisse avoir quand même accès au menu déroulant ( pain bagnat ) a la date du ( lundi ) et toutes les cellules ( Adultes, Maternelles ,Élémentaires, livraisons et heure )
Re..
Pour accéder à certaines cellules sur une feuille protégé, il suffit de déverrouiller les cellules en question.
 

Quicksland

XLDnaute Occasionnel
Bonjour Jacky 67

Ce matin j'ai voulu adapter ton code au fichier réel car tu avais un fichier test ...
c'est a dire que les feuilles ( juillet, aout et toussaint n'était pas dans le fichier
la feuille printemps fonctionne très bien
mais j'ai une erreur 400 qui apparait quand je protège les autres feuilles et que j'appuie sur remise a zéro
merci pour ton aide
 

Pièces jointes

  • 1 CAMUS LA RIBAMBELLE (1).xlsm
    51.6 KB · Affichages: 4

Jacky67

XLDnaute Barbatruc
Bonjour Jacky 67

Ce matin j'ai voulu adapter ton code au fichier réel car tu avais un fichier test ...
c'est a dire que les feuilles ( juillet, aout et toussaint n'était pas dans le fichier
la feuille printemps fonctionne très bien
mais j'ai une erreur 400 qui apparait quand je protège les autres feuilles et que j'appuie sur remise a zéro
merci pour ton aide

Dans le classeur qui est présenté, il n'y a rien dans les feuilles "JUILLET, AOUT, TOUSSAINT"
Dans le classeur précèdent, il n'y avait qu'une seule feuille de protégée et autorisé par VBA directement à l'ouverture du classeur par
Private Sub Workbook_Open()
Feuil2.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End Sub
Feuil2 étant le "codeName" de la feuille"PRINTEMPS "

S'il y en a d'autres, il faut les ajouter
S'il y en a beaucoup on peut faire une boucle et exclure celles qui n'en font pas partie comme par exemple
VB:
Private Sub Workbook_Open()
    Dim Sh As Worksheet
     For Each Sh In Worksheets
        If Sh.Name <> "EFFECTIF  JOUR" And Sh.Name <> "LISTE" Then    ' ici les noms de feuille à exclure
            Sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
        End If
    Next
End Sub

Recommandation:
Il serait sage d'avoir une feuille modèle complète avec les cellules verrouillées ou non, les formats, les listes de validation..etc......
De supprimer les colonnes fusionnées inutiles
Ainsi on pourrait copier cette feuille dans les mois concernés
C'est toi qui voit...
En pj: Le classeur modifié avec les feuilles concernées protégées, mais sans ces recommandations
 

Pièces jointes

  • 1 CAMUS LA RIBAMBELLE V2.xlsm
    105.4 KB · Affichages: 10

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 011
Membres
103 093
dernier inscrit
Molinari