Macro Zone d'impréssion en fonction de 2 dates

lalalie3

XLDnaute Nouveau
Bonjour,
J'explique :
J'ai crée un tableau XL qui représente un planning sur l'année il est composé de 10 onglets ou feuilles dont une qui s'appelle Planning dans cette dernière il y a un certain nombres de colonnes et de lignes qui correspondent aux jours, noms, et heures travaillées. une date correspond a 40 lignes (possibilité de 40 personnes en mm temps)
Ce planning doit etre imprimé en fonction d'une date de début et une date de fin.
j'ai donc crée un bouton pour le lié a une macro que je n'arrive pas a trouver.
Je voudrais donc que cette macro fasse :
1/ cherche la première celulle de la première date (date début)
2/ Selection des cellules correspondante jusqu'a la dernière cellule de la date de fin.
3/ Qu'une fois trouvé elle selectionne toutes les colonnes de E jusqu'a BV.
4/ Que ca fasse un apercut avant impression en ayant d'inscrit la date de début et la date de fin dans l'en-tete.
5/ qu'il y est la possibilité d'imprimer cette zone.

si je n'ai pas été assez claire n'ehsitez pas.
Merci beaucoup pour votre aide. Je suis novice en VBA mais moins en Excel.
 

Pièces jointes

  • Planning_caisse_vide_beta_macro_light.xls
    283.5 KB · Affichages: 120
  • Planning_caisse_vide_beta_macro_light.xls
    283.5 KB · Affichages: 122
  • Planning_caisse_vide_beta_macro_light.xls
    283.5 KB · Affichages: 120
  • Planning_caisse_vide_beta_macro_light.xls
    267 KB · Affichages: 58
  • Planning_caisse_vide_beta_macro_light.xls
    267 KB · Affichages: 65
  • Planning_caisse_vide_beta_macro_light.xls
    267 KB · Affichages: 63
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Macro Zone d'impréssion en fonction de 2 dates

Mais vous vous savez. Alors avez vous essayé de le faire en étant en enregistrement d'une nouvelle macro ? À première vue le code devrait être assez court et nécessiter relativement peu de retouches.
À+
 

lalalie3

XLDnaute Nouveau
Re : Macro Zone d'impréssion en fonction de 2 dates

Je cherche depuis plus d'une semaine, mais comme mes connaissances en macro sont plus que limitées je ne comprend pas tout ce que je dois changer, ajouter ou supprimer dans ce que je trouve comme info.
J'ai essayé beaucoup de choses ...
Merci pour votre aide.
A+
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Macro Zone d'impréssion en fonction de 2 dates

Pour savoir ce que fait une instruction (et juger donc si elle est utile ou non) il suffit de d'utiliser F1 sur un élément de l'instruction. Mais Joignez le code engendré par l'enregistrement automatique et je vous dirais ce qu'il faudrait conserver.
à priori il ne devrait rester que de quoi saisir les dates à retenir puis:
Range(...).Autofilter ... et
ActiveSheet.PrintPreview
 

lalalie3

XLDnaute Nouveau
Re : Macro Zone d'impréssion en fonction de 2 dates

J'ai essayé une macro enregistré et de la modifier mais rien y fait ...
Avez vous regardé mon document joint ?
Je n'ai pas la possibilité de faire un filtre via la colonne Date qui un format particulier et de ce fait le filtre possible ne correspond pas a votre idée qui est très judicieuse.
Je vous ai replacé le document.
A+
 

Dranreb

XLDnaute Barbatruc
Re : Macro Zone d'impréssion en fonction de 2 dates

Bonjour.
Je n'ai pas trouvé de macro à "épurer" dans les fichiers joints. Il y a bien 2 modules mais ils sont vides.
Le format ne devrait géner en rien, pourvu que la colonne contienne une date. En revanche la fonction CvDate doit être utilisée parfois en VBA avec des contenus de cellules qui sont des dates.
À+
 

lalalie3

XLDnaute Nouveau
Re : Macro Zone d'impréssion en fonction de 2 dates

J'ai supprimé toutes les macro (oui je sais je suis blonde ... :D)
Dans la feuille planning il y a une col Date en E qui lorsque que je fais dessus un tri automatique elle ne m'affiche que les jours (lundi, mardi, mercredi, jeudi ....) donc il m'est impossible de faire une selection en fonction de dates.
J'ai essayé de faire un truc du genre :
ActiveSheet.PageSetup.CenterFooter = "imprimer le &D"
ActiveSheet.PageSetup.CenterHeader = "PLANNING"
ActiveSheet.PageSetup.PaperSize = xlPaperA4
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveSheet.PageSetup.PrintArea = "$A$1:$J$10"
Range("A1:J10").Select
PrintPreview
en essayant de changer les valeurs pour qu'elle prenne en compte ma selection qui est en EE3 et EF3 mais rien y fait ...
en fait la ca me selectionne que les cel de a1 à j10 et je n'arrive pas a lui faire faire ce que je veux c'est a dire :
affiche moi toutes les lignes entre ma première date et la dernière cel de la deuxième date.
si je ne suis pas assez claire n'hesitez pas.

UN ENORME MERCI pour votre aide.
 

lalalie3

XLDnaute Nouveau
Re : Macro Zone d'impréssion en fonction de 2 dates

Alors voila d'où j'en suis et je n'avance pas très vite mais ce n'est pas grave c'est en forgeant que l'on devient forgeron.
Je n'arrive pas a trouver où je dois faire des modifs ...

Private Sub CommandButton1_Click()
' ZI_date Macro
'bouton imprimer
ActiveSheet.PageSetup.CenterFooter = "Imprimer le &D"
ActiveSheet.PageSetup.CenterHeader = "PLANNING"
ActiveSheet.PageSetup.PaperSize = xlPaperA4
ActiveSheet.PageSetup.Orientation = xlLandscape
Selection.AutoFilter Field:=5, Criteria1:=">=01/01/2011", Operator:=xlAnd _
, Criteria2:="<=10/01/2011"
range("E5:BV423").Select
ActiveSheet.PageSetup.PrintArea = "$E$5:$BV$423"

End Sub


Encore MERCI pour votre aide.
 

Dranreb

XLDnaute Barbatruc
Re : Macro Zone d'impréssion en fonction de 2 dates

Possible qu'il faille mettre ...Criteria1:=">=" & CvDate(Date1), etc
Une fois que la facon de spécifier Date1 et Date2 aura été définie.
L'instruction finissant par .Select ne sert à rien et peut être supprimée.
La redéfinition de la PrintArea ne sert à rien telle qu'elle est écrite.
D'une façon générale pour que certaines instructions puissent prendre de l'interêt il faudrait que vous puissiez leur affecter des expressions variable.
Et à la fin, pas de :
VB:
ActiveSheet.PrintPreview
?
 
Dernière édition:

lalalie3

XLDnaute Nouveau
Re : Macro Zone d'impréssion en fonction de 2 dates

re,
voila d'où j'en suis et je reste bloquée j'ai definie des variables et j'ai un message d'erreur qui me dit que je n'ai pas assez de ressource ...
Alors j'ai essayé atre chose mais ca ne fonctionne pas ...
Au secours SOS ...
Private Sub CommandButton1_Click()
' ZI_date Macro
'bouton imprimer
ActiveSheet.PageSetup.CenterFooter = "Imprimer le &D"
ActiveSheet.PageSetup.LeftHeader = "PLANNING du & range.value(ee3)& range.value(ef3)"
ActiveSheet.PageSetup.PaperSize = xlPaperA4
ActiveSheet.PageSetup.Orientation = xlLandscape

'Selection.AutoFilter Field:=5, Criteria1:=">= range("EE3").select.Value", Operator:=xlAnd _
, Criteria2:="<= range("EF3").select.Value"


range("E5:BV423").Select

ActiveSheet.PageSetup.PrintArea = "$E$5:$BV$423"
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Merci pour votre aide.
 

Dranreb

XLDnaute Barbatruc
Re : Macro Zone d'impréssion en fonction de 2 dates

Bonjour.
À essayer:
VB:
Private Sub CommandButton1_Click()
Dim DateDéb As Date, DateFin As Date
DateDéb = CVDate(Me.[EE3].Value)
DateFin = CVDate(Me.[EF3].Value)
' ZI_date Macro
'bouton imprimer
ActiveSheet.PageSetup.CenterFooter = "Imprimer le &D"
ActiveSheet.PageSetup.LeftHeader = "PLANNING du " & Format(DateDéb, "d mmm") & " au " & Format(DateFin, "d mmm yyyy")
ActiveSheet.PageSetup.PaperSize = xlPaperA4
ActiveSheet.PageSetup.Orientation = xlLandscape

Selection.AutoFilter Field:=5, Criteria1:=">=" & DateDéb, Operator:=xlAnd, Criteria2:="<=" & DateFin

'ActiveSheet.PageSetup.PrintArea = "$E$5:$BV$423"
ActiveWindow.SelectedSheets.PrintPreview
End Sub
À+
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 497
Membres
103 562
dernier inscrit
soso21