Modification macro

Bonjour à tous.

Je souhaiterais que lorsqu'on clique sur imprimer ce soit le jour en cours qui apparaisse. C'était le cas mais j'ai supprimé les apres midi et j'ai essayé de modifié la macro mais je n'y arrive.

Merci de m'aider.

Sub Imprimer()

Dim d As Integer, startRow As Long, rngPrint As Range

d = Weekday(VBA.Date)

If d > 1 Then

With ActiveSheet

.PageSetup.PrintTitleRows = "$1:$7"

startRow = VBA.Switch(d = 2, 1, d = 3, 19, d = 4, 30, d = 5, 41, d = 6, 52, d = 7, 63)

If d < 7 Then

Set rngPrint = .Cells(startRow, 2).Resize(19, 30)

Else

Set rngPrint = .Cells(startRow, 2).Resize(9, 30)

End If

End With

rngPrint.PrintOut preview:=True

End If

End Sub

D'autre part est-il possible d'ouvrir le fichier sur l'onglet correspondant à la semaine en cours. Cette semaine onglet 19?

Merci beaucoup

Bonjour,

Si j'ai bien compris, il faut changer 19 par 11

tu remplaces ...

Set rngPrint = .Cells(startRow, 2).Resize(19, 30)

par

Set rngPrint = .Cells(startRow, 2).Resize(11, 30)

ric

Bonjour Ric

Après une multitude d'essai j'ai trouvé

Sub Imprimer()

Dim d As Integer, startRow As Long, rngPrint As Range

d = Weekday(VBA.Date)

If d > 1 Then

With ActiveSheet

.PageSetup.PrintTitleRows = "$1:$7"

startRow = VBA.Switch(d = 2, 8, d = 3, 19, d = 4, 30, d = 5, 41, d = 6, 52, d = 7, 63)

If d < 7 Then

Set rngPrint = .Cells(startRow, 2).Resize(11, 30)

Else

Set rngPrint = .Cells(startRow, 2).Resize(11, 30)

End If

End With

rngPrint.PrintOut preview:=True

End If

End Sub

Merci

Bonjour toutes et tous

Coucou Ric

@Moreno076

dans le code Private Sub Workbook_Open()

il y a le chiffre 1 qui se ballade en 5ème ligne est-ce normal ?

crdlt,

André

Bonjour à tous,

@Andre13, dit "oeil de lynx" ... bien vu

@Moreno076

Si le deux ligne du < que 7 ou else sont les mêmes.

L'on peut donc simplifier, puisque les deux réponses aux tests sont identiques ...

Sub Imprimer()
Dim d As Integer, startRow As Long, rngPrint As Range
    d = Weekday(VBA.Date)
    If d > 1 Then
        With ActiveSheet
            .PageSetup.PrintTitleRows = "$1:$7"
            startRow = VBA.Switch(d = 2, 8, d = 3, 19, d = 4, 30, d = 5, 41, d = 6, 52, d = 7, 63)
                Set rngPrint = .Cells(startRow, 2).Resize(11, 30)
        End With
        rngPrint.PrintOut preview:=True
    End If
End Sub

ric

Re André13 / Ric

Oui ca fonctionne bien aussi avec la version simpliée.

Merci à vous pour votre aide.

Pensez-vous qu'il soit possible que le fichier s'ouvre sur l'onglet correspondant au numéro de la semaine en cours?

Je pense que non mais on ne sait jamais.

Fichier en PJ.

Bonjour zà tous,

Dans ThisWorkbook > Private Sub Workbook_Open() > juste avant End Sub > ajoute Worksheets("S" & Format(Date, "WW")).Activate

ric

Alors là chapeau !

C'est super ca fonctionne parfaitement

Un GRAND MERCI

Bonjour à tous,

Bonjour toutes et tous

Coucou Ric

@Moreno076

dans le code Private Sub Workbook_Open()

il y a le chiffre 1 qui se ballade en 5ème ligne est-ce normal ?

crdlt,

André

Bonjour André.

Oui, c'est normal dans ce cas ci. > Il y a deux Goto 1

ric

Re,

Merci à vous, j'y est pensé à Goto mais, je n'étais pas certain en tout cas merci à vous

crdlt,

André

Rechercher des sujets similaires à "modification macro"