Rapport de message :*
 

Re: AIDE EXCEL VBA COPIER COLLER FEUILLE COMPLÈTE AVEC GRAPH

Titre du sujet : Re: AIDE EXCEL VBA COPIER COLLER FEUILLE COMPLÈTE AVEC GRAPH
par myDearFriend! le 13/10/2017 19:10:39

Bonjour ritchi3131, le Forum,

 

Sans fichier exemple ce n'est jamais facile d'aider... sad

 

Cela dit, voici ma vision de ton problème. Proposition de code pour remplacer le tien (dans son ensemble) ...

CODE A COLLER DANS LE MODULE DE TON USERFORM (en remplacement de l'ancien) :

Option Explicit

Private Sub annuler_Click()
    Unload Me
End Sub

Private Sub OK_Click()
Dim Sh As Worksheet
Dim NomFeuille As String
Dim I As Byte
    If ComboBox1 = "" Then
        MsgBox ("VEUILLEZ SELECTIONNER LA SEMAINE A CREER")
        Exit Sub
    End If
    NomFeuille = UCase(ComboBox1.Value) & "_" & Format(Now, "yyyy")
    On Error Resume Next
    Set Sh = Sheets(NomFeuille)
    On Error GoTo 0
    'La feuille existe déjà ?
    If Not Sh Is Nothing Then
        MsgBox ("La feuille " & UCase(ComboBox1) & " existe déjà, si vous désirez regénérer une feuille de données veuillez la supprimer avant toute action")
        Exit Sub
    End If
   
    ' Copie de la feuille "Reporting" sans les formules pour éviter que les données se mettent à jours
    Application.ScreenUpdating = False
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Reporting").Copy After:=Sheets(Sheets.Count)
    With ActiveSheet
        'Suppression des formules
        .Cells.Copy
        .Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        'Nom de feuille
        .Name = NomFeuille
        .Range("A1").Select
    End With
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim S As Byte
    For S = 42 To 52
        ComboBox1.AddItem "Semaine" & S
    Next S
End Sub
 

En espérant t'avoir dépanné.

Bien cordialement,