imprimé selon condition cellules

TEMAGOULTFARID

XLDnaute Occasionnel
Bonjour,
je viens vers vous pour une autre demande, concernant le fichier en PJ.la faisabilité de :
Je souhaiterais imprimer selon des conditions a savoir:
1 je selectionne la périodictié D20:D31(double clic) qui représente les mois choisis
2 Je créé les OT qui sont lié aux choix de la périodicité A20:A31(clic sur l'icone A19)
3 j'imprime uniquement la feuille du lien en A20:A31 du mois en cours(E20:E31)
4 une fois le processus lancé, est-ce possible qu'un"OK" soit inscrit a coté du moi en cours concerné dans la colonne F20:F31.
par avance , merci
 

Pièces jointes

  • Poste 1---.xlsm
    729.6 KB · Affichages: 9

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Voici un module testé :
VB:
Sub Impression()
For Mois = 20 To 31
    If Sheets("Résultat").Range("D" & Mois) = "a" Then
        Worksheets(Range("A" & Mois).Value).PrintOut
        Range("F" & Mois) = "OK"
    End If
Next Mois
End Sub
J'avais oublié le fichier ...
 

Pièces jointes

  • Poste 1--- (V2).xlsm
    691.9 KB · Affichages: 5
Dernière édition:

TEMAGOULTFARID

XLDnaute Occasionnel
merci infiniment,
cependant lorsque je sélectionne la périodicité dans la colonne D20:D31 et que le mois en cours colonne E (orange), il m'imprime systématiquement janvier et février et place le "OK" dans la ligne de janv et non sur la ligne févr.Peut être que je me suis mal exprimé , ce que je souhaite c'est que le système imprime que la période sélectionnée Colonne D du mois en cours avec le "OK" sur la ligne a coté du mois en cours colonne F
Je m’excuse de l'abus sur votre temps et c'est vrillement sympa.Je vous écrirai en Message privé , mon projet, bien a vous
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Désolé je n'avais pas compris.
Je l'ai testé, ça marche.
Si vous continuez à avoir l'erreur sur le printout, faites un enregistrement de macros et imprimez. Vous verrez bien quelle est la bonne syntaxe pour votre imprimante.
Sur la mienne ( HP3050A en wifi) le printout marche.
 

Pièces jointes

  • Poste 1--- (V4).xlsm
    702 KB · Affichages: 3

TEMAGOULTFARID

XLDnaute Occasionnel
bonsoir, désolé de vous sollicité, je vous rassure cela fonctionne très bien, cependant j'ai oublié de vous dire qu'il y avait une autre condition qui doit prise en compte , c'est le contenu de la cellule B3 après le PM (voir le module 3)Dans cette cellule , un chiffre vient s'incrémenté qui détermine le n° de poste qui est généré lors de la création a partir d'un tableau de bord.J'ai essayé de le faire moi même, mais j'ai pratiquement passé la journée, Désolé encore un poussin qui essaie de prendre son envole.je ne vous cache que je vous re-solliciterais pour un autre fichier qui est lié a celui-ci juste pour une action.Par avance, merci bien cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Alors ça, le matin c'est indigeste !

qu'il y avait une autre condition qui doit prise en compte
Qui doit être prise en compte pour quoi ?
c'est le contenu de la cellule B3 après le PM
B3 de quelle feuille ? c'est quoi le PM ?
un chiffre vient s'incrémenté qui détermine le n° de poste qui est généré lors de la création
Pourquoi ce chiffre doit il s'incrémenter ? A quoi sert il ?

Vous pourriez être un peu plus explicite ? :)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Vraiment, mais vraiment désolé je ne comprend pas :
1- Dans quelle feuille doit être implémentée cette valeur ? La feuille ressemble à Résultat, mais dans Résultat A1:A20 on n'a rien.
2- Qui doit incrémenter ce numéro ?
3- Et quand, à quel moment ?
4- La macro Test du module 3 est appelée par Résultat. Est ce à ce niveau qu'on doit construire cet indice ?
 

TEMAGOULTFARID

XLDnaute Occasionnel
si , vous chercher un imbécile, il vous écris, je me suis mal exprimer.j'ai du prendre le raccourci le plus long:(.ce que je souhaite est si possible d'ajouter une conditions la valeur de la cellule A3 dans cette macro que vous m'avez donné sur la ligne en gras.
desolé si je n'ai pas la syntaxe d'un Macro-niste VBA .
Par avance , merci
cordialement

Sub Impression()
Nomfeuille = "MP " & Year(Now()) & " " & Month(Now())
If FeuilleExiste(Nomfeuille) = True Then
Worksheets(Nomfeuille).PrintOut
Range("F" & 19 + Month(Now())) = "OK"
Else
MsgBox ("La feuille " & Nomfeuille & " n'existe pas.")
End If
End Sub
Function FeuilleExiste(Nom)
Dim Feuille As Worksheet
FeuilleExiste = False
For Each Feuille In Worksheets
If Feuille.Name = Nom Then
FeuilleExiste = True
Exit Function
End If
Next Feuille
End Function
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Plusieurs solutions :

1- Nomfeuille = "MP" & Range("A3") & Year(Now()) & Month(Now())
Ce qui donne MP22202002 comme l'exemple dans l'explicatif.
J'ai pris A3 car c'est B3 dans votre post et A3 dans l'explicatif. Il suffit de changer si faux.

2- Nomfeuille = "MP" & " " & Range("A3") & Year(Now()) & Month(Now())
Ce qui donne MP 22202002 avec l'espace.

Mais attention, cela signifie que vos onglets portent bien ce nom car ils me servent à imprimer la feuille.
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal