cibleo
XLDnaute Impliqué
Bonsoir le forum,
J'appelle cette function :
Dans ce code générant 53 feuilles hebdomadaires :
J'aimerais placer en A12 de chaque feuille générée la mention suivante : Chauffeur de gardes le dimanche XX XXXXX 2011 + Le prénom du chauffeur
Je n'arrive pas à récupérer le nom du chauffeur figurant en colonne B feuille ("PersonneldeGardes").
Pour comprendre, cliquez sur le bouton et voyez en A12 des feuilles générées il manque le prénom du chauffeur.
Ps : j'ai complètement fouaré la rédaction de mon post 🙁
Cibleo
J'appelle cette function :
Code:
Function Gardes(jour As Date) As Boolean
Dim LeChauffeur As String
For Each c In Sheets("PersonneldeGardes").Range("A3:A17")
If c = jour Then
Gardes = True
LeChauffeur = Sheets("PersonneldeGardes").Cells(0, 1).Offset
Exit Function
End If
Next c
End Function
Dans ce code générant 53 feuilles hebdomadaires :
VB:
Sub FeuillesSemaines1()
Dim deb As Long, fin As Long, i As Long, n As Byte, Tablo(1 To 53, 1 To 2), Sem As Byte, Nom As String, Nom1 As String
Dim tablo1(1 To 53, 1 To 7) As Date, x As Integer, y As Byte, k As Byte, j As Byte, Lig As Byte
If Sheets.Count > 2 Then Exit Sub
deb = DateSerial(2010, 12, 27) 'du Lundi 27 décembre 2010
fin = DateSerial(2012, 1, 1) 'au Dimanche 01 janvier 2012 soit 53 semaines
For y = 1 To 53
For k = 1 To 7
'tablo1(y, k) = Format(Deb + x, "ddd dd mmm yy")
tablo1(y, k) = deb + x
x = x + 1
Next k
Next y
For i = deb To fin
If i = deb Or Weekday(i) = 2 Then n = n + 1: Tablo(n, 1) = Format(i, "dd mmm yy")
If i = Date Then Sem = n
If i = fin Or Weekday(i) = 1 Then Tablo(n, 2) = Format(i, "dd mmm yy")
Next
Application.ScreenUpdating = False
On Error Resume Next
For i = 1 To n
Nom = "Semaine " & Tablo(i, 1) & " - " & Tablo(i, 2)
Nom1 = "Semaine du " & Format(Tablo(i, 1), "dddd dd mmmm yyyy") & " au " & Format(Tablo(i, 2), "dddd dd mmmm yyyy")
Nom = Sheets(Nom).Name
If Err Then
Err = 0
Sheets("Modele").Copy after:=Sheets(Sheets.Count)
' Sheets(Sheets.Count).Shapes("CommandButton1").Select 'supprime le bouton dela feuille créée
' Selection.Delete
' With ActiveWorkbook.VBProject.VBComponents(Sheets(Sheets.Count).CodeName).CodeModule 'Supprime la macro even. de la feuille créée
' .DeleteLines 1, .CountOfLines
' End With
Sheets(Sheets.Count).Name = Nom
Sheets(Sheets.Count).[A2] = Nom1
j = 1
For Lig = 4 To 10
Sheets(Sheets.Count).Range("A" & Lig) = tablo1(i, j)
If Gardes(tablo1(i, j)) = True Then
Sheets(Sheets.Count).[A12] = "Chauffeur de gardes le " & Format(tablo1(i, j), "dddd dd mmmm yyyy") & LeChauffeur
End If
j = j + 1
Next Lig
End If
Next
Sheets("Semaine " & Tablo(Sem, 1) & " - " & Tablo(Sem, 2)).Select 'semaine en cours
End Sub
Code:
.../...For Lig = 4 To 10
Sheets(Sheets.Count).Range("A" & Lig) = tablo1(i, j)
If Gardes(tablo1(i, j)) = True Then
Sheets(Sheets.Count).[A12] = "Chauffeur de gardes le " & Format(tablo1(i, j), "dddd dd mmmm yyyy") & LeChauffeur
End If
j = j + 1
Next Lig
.../...
J'aimerais placer en A12 de chaque feuille générée la mention suivante : Chauffeur de gardes le dimanche XX XXXXX 2011 + Le prénom du chauffeur
Je n'arrive pas à récupérer le nom du chauffeur figurant en colonne B feuille ("PersonneldeGardes").
Pour comprendre, cliquez sur le bouton et voyez en A12 des feuilles générées il manque le prénom du chauffeur.
Ps : j'ai complètement fouaré la rédaction de mon post 🙁
Cibleo
Pièces jointes
Dernière édition: