Bonjour à tous,
Pourriez vous m'aider encore? Je cherche à imprimer la feuil2, seulement si la date de la cellule A1 de la Feuil3 à moins de 3 jours...?
Merci
Bonjour à tous,
Pourriez vous m'aider encore? Je cherche à imprimer la feuil2, seulement si la date de la cellule A1 de la Feuil3 à moins de 3 jours...?
Merci
Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 If Sheets("Feuil3").Range("A1") > Now - 3 Then 'impression Else MsgBox ("Plus de 3 jours") End If
Bonjour Helas, merci d'avoir répondu
J'ai réussi à mettre la condition en fonction de la date mais maintenant ce sont les IF le problème. La MsgBox s'affiche plusieurs fois au lieu de tenir compte du GoTo ...
Voila ce que j'essai de coder:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Sub PrintDoc() Dim la_date As Date la_date = Sheets("Commande").Range("J1").Value If la_date < Now() - 2 Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True GoTo STOPPP End If 'Si clic sur ANNULER If MsgBox("La commande à été mise à jour le " & la_date & ", voulez vous l'imprimer?", vbYesNoCancel + vbDefaultButton1 + vbInformation, "Commande") = vbCancel Then GoTo Line2 End If 'Si clic sur NON If MsgBox("La commande à été mise à jour le " & la_date & ", voulez vous l'imprimer?", vbYesNoCancel + vbDefaultButton1 + vbInformation, "Commande") = vbNo Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True GoTo Line2 End If 'Si clic sur OUI If MsgBox("La commande à été mise à jour le " & la_date & ", voulez vous l'imprimer?", vbYesNoCancel + vbDefaultButton1 + vbInformation, "Commande") = vbYes Then GoTo Line1 End If Line1: ActiveWorkbook.PrintOut Line2: End Sub
bonjour,
je ne comprend pas pourquoi tu utilises des GOTO dans ton code
voici une proposition à continuer, ne sachant pas ce que fait ton Goto STOPPP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub PrintDoc() Dim la_date As Date la_date = Sheets("Commande").Range("J1").Value If la_date < Now() - 2 Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True GoTo STOPPP End If Select Case MsgBox("La commande à été mise à jour le " & la_date & ", voulez vous l'imprimer?", vbYesNoCancel + vbDefaultButton1 + vbInformation, "Commande") Case vbNo ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Case vbYes ActiveWorkbook.PrintOut End Select End Sub
Bonjour,
Désolé pour le temps de réponse, j'étais en déplacement.
Le GoTo Stopp était un essai que j'ai oublié de supprimer.
J'ai testé ta macro mais j'ai toujours un problème avec la date.
La macro n'en tient pas compte et m'affiche toujours la msgBox.
J'ai juste modifié la fin puisque je veux imprimer 2 onglets en cas de vbYes.
Et quelle fonction puis-je ajouter à vbCancel pour qu'il stop l'impression en cours?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub PrintDoc() Dim la_date As Date la_date = Sheets("Commande Bocaux").Range("J1").Value If la_date < Now() - 2 Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End If Select Case MsgBox("La commande de bocaux à été mise à jour le " & la_date & ", voulez vous l'imprimer?", vbYesNoCancel + vbDefaultButton1 + vbInformation, "Commande Bocaux") Case vbNo Sheets("Commande").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Case vbYes Sheets("Commande Bocaux").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("Commande").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Select End Sub
Bonjour,
Tu veux que la boite de message ne s'affiche que si la date est inférieure à 3 jour par rapport au jour actuel ?
Dans ce cas, il te faut incorporer le code dans le bloc If :
mais pourquoi ceci avant la boite de message ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub PrintDoc() Dim la_date As Date la_date = Sheets("Commande Bocaux").Range("J1").Value If la_date < Now() - 2 Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Select Case MsgBox("La commande de bocaux à été mise à jour le " & la_date & ", voulez vous l'imprimer?", vbYesNoCancel + vbDefaultButton1 + vbInformation, "Commande Bocaux") Case vbNo Sheets("Commande").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Case vbYes Sheets("Commande Bocaux").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("Commande").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Select End If End Sub
Hervé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Partager