Copie masque et méthode fillacrosssheets

Bonjour.

Dans le classeur joint, j'ai une feuille masque.

Ce masque contient des listes déroulantes, des graphiques, des formules de calcul et notamment j'utilise la formule rechercheV (exemple voir cellule E90).

A partir de ce masque, je voudrais créer une feuille par semaine pour l'année et chaque feuille contient les jours du lundi au samedi.

J'ai une macro pour créer les différentes feuilles de la semaine avec les différents date correspondant aux jours.

Je veux utiliser la méthode Fillacroossheets mais j'ai deux souci:

- j'exécute la ligne suivante mais j'ai une erreur d'exécution

ThisWorkbook.Worksheets.FillAcrossSheets Sheets("Masque"), xlFillWithAll

- dans la feuille masque, les formules rechercheV, font appel à une plage de la feuille "UO". Je voudrais pas écraser le masque dessus. Vaut-il mieux mettre cette plage dans la feuille masque ?

Comment puis-je résoudre ou contourner ce problème ?

Merci pour vos réponses.

Bonsoir

Je ne connais pas trop cette instruction

Je ferais ça (Inspiré à partir de l'aide)

Construire un tableau des nouvelles feuilles, puis d'y rajouter la feuille Masque

Parce que si tu prends Worksheets tu modifies aussi la page UO

Et ne pas oublier de définir la zone à copier (ici j'ai pris l'ensemble (Cells) de la page)

xlFillWithAll est la valeur par défaut

Sub Macro1()
Dim Feuille(52) As String
Dim premierLundi, I As Integer, y As Integer, z As Integer

  premierLundi = DateSerial(2012, 1, 5) - Weekday(DateSerial(2012, 1, 3))

  For I = 1 To 52
    Sheets.Add After:=Worksheets(Sheets.Count)
    ActiveSheet.Name = "SEM" & I
    Feuille(I - 1) = ActiveSheet.Name
    For y = 5 To 20 Step 3
      Cells(2, y) = CDate(premierLundi) + z
      z = z + 1
    Next y
    '  Range("A1:F1").NumberFormat = "dddd d mmmm"
    z = z + 1
  Next I
  Feuille(I - 1) = "Masque"
  ThisWorkbook.Sheets(Feuille).FillAcrossSheets Sheets("Masque").Cells, xlFillWithAll
End Sub

A tester et à dire

Bonsoir Banzai64.

J'ai essayé ton code mais ça n'a pas exactement l'effet voulu.

Au fait je me rends compte que je me complique la tâche avec la méthode fillacrosssheets.

Je teste une autre méthode beaucoup plus basique, qui est de dupliquer la feuille (j'ai essayé en enregistrement de macro, et ça à l'air de garder les formules et les graphes).

Les élements pour l'utilisation de la formule recherche verticale je vais les mettre dans la même feuille que le masque.

Après je referais tourner un algo pour numéroter les jours.

Je fais ça demain et je te tiens au courant.

Encore merci pour ton soutien.

Bonne nuit.

J'ai fais mon petit algo et ça marche.

J'ai bêtement dupliquer la feuille masque et ça reprend exactement tous les graphiques et les formules.

Après j'ai repassé un coup d'algo pour corriger les dates derrières.

Sub dupliquer()

    Dim i As Integer

    Application.ScreenUpdating = False
    For i = 1 To 52

        Sheets("Masque").Select
        Sheets("Masque").Copy After:=Worksheets(Sheets.Count)
        ActiveSheet.Name = "SEM" & i

    Next i

    Call Remplissage_Date

    Application.ScreenUpdating = True
End Sub

Sub Remplissage_Date()

    Dim premierLundi, i As Integer, y As Integer, z As Integer
    premierLundi = DateSerial(2012, 1, 5) - Weekday(DateSerial(2012, 1, 3))

      Application.ScreenUpdating = False

        For i = 1 To 52

        Sheets("SEM" & i).Select
        Cells(i, 4) = i

        ActiveSheet.ChartObjects("Graphique 1").Activate
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
        ActiveChart.ChartTitle.Text = "Semaine " & i

            For y = 5 To 20 Step 3
                Cells(2, y) = CDate(premierLundi) + z
                z = z + 1
            Next y

      '  Range("A1:F1").NumberFormat = "dddd d mmmm"
        z = z + 1

        Next i

    Application.ScreenUpdating = True

End Sub

Merci de votre aide.

Rechercher des sujets similaires à "copie masque methode fillacrosssheets"