Bonjour à tous,
Je me permets de vous écrire car je bloque sur un code VBA (je suis une quiche et pas vraiment autodidacte dans ce domaine).
Voici mon objectif :
Faire une copie/valeur d'un classeur entier excepté certains onglets qui doivent garder leurs formules.
Voici le code sur lequel je travaille :
	
	
	
	
	
		
Merci beaucoup pour votre aide!
Jean
	
		
			
		
		
	
				
			Je me permets de vous écrire car je bloque sur un code VBA (je suis une quiche et pas vraiment autodidacte dans ce domaine).
Voici mon objectif :
Faire une copie/valeur d'un classeur entier excepté certains onglets qui doivent garder leurs formules.
Voici le code sur lequel je travaille :
		Code:
	
	
	Sub testCopieValeursSeules()
Dim ws As Worksheet, wsArr(), NomFic$, nWBK As Workbook, i&
'création chaine pour nom du fichier
NomFic = ThisWorkbook.Path & "\" & Month(Date) - 1 & "-" & Year(Date) & " - Reporting Clients RGC"
ReDim wsArr(0)
'création d'un tableau avec le noms des feuilles choisies
For Each ws In ThisWorkbook.Worksheets
'on exclut une/plusieurs feuilles dans la liste selon leur nom
   If Not ws.Name = "YTD_TCD" Then
    wsArr(UBound(wsArr)) = ws.Name
    ReDim Preserve wsArr(UBound(wsArr) + 1)
    End If
    Next ws
ReDim Preserve wsArr(UBound(wsArr) - 1)
'on créee une copie du classeur ne contenant que les feuilles désirées
Sheets(wsArr).Copy
Set nWBK = ActiveWorkbook
'le contenu de toutes les feuilles passe en valeurs seules sauf quelques feuilles
For i = 1 To nWBK.Worksheets.Count
With nWBK.Worksheets(i)
    If ws.Name <> "TCD" Or ws.Name <> "TCD_POS" Then .UsedRange.Value = .UsedRange.Value
End If
End With
Next i
'ici ajouter ton code pour sauvegarder la copie
nWBK.SaveAs NomFic & ".xlsx", xlOpenXMLWorkbook
nWBK.Close
End Sub
	Merci beaucoup pour votre aide!
Jean