Salut à tous,
J'ai de nouveau besoin de votre aide. je souhaiterais exclure 1 feuille d'une boucle à l'intérieur de ma macro. La boucle permet d'écraser les formule or je veux que le premier onglet ("sommaire") garde ses formules.
Voici ma macro :
Sub testCopieValeursSeules()
Dim ws As Worksheet, wsArr(), NomFic$, nWBK As Workbook, i&
'sauvegarder fichier
ActiveWorkbook.Save
'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 deux feuilles dans la liste selon leur nom
If Not ws.Name = "SSG" And Not ws.Name = "Client" And Not ws.Name = "Feuil1" And Not ws.Name = "POS" And Not ws.Name = "Groupements" 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
JE PENSE QUE C'EST ICI QUE JE DOIS AJOUTER LA LIGNE.
For i = 1 To nWBK.Worksheets.Count
With nWBK.Worksheets(i)
.UsedRange.Value = .UsedRange.Value
End With
Next i
'ici ajouter ton code pour sauvegarder la copie
nWBK.SaveAs NomFic & ".xlsx", xlOpenXMLWorkbook
nWBK.Close
End Sub
Merci pour votre aide !
Jean
J'ai de nouveau besoin de votre aide. je souhaiterais exclure 1 feuille d'une boucle à l'intérieur de ma macro. La boucle permet d'écraser les formule or je veux que le premier onglet ("sommaire") garde ses formules.
Voici ma macro :
Sub testCopieValeursSeules()
Dim ws As Worksheet, wsArr(), NomFic$, nWBK As Workbook, i&
'sauvegarder fichier
ActiveWorkbook.Save
'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 deux feuilles dans la liste selon leur nom
If Not ws.Name = "SSG" And Not ws.Name = "Client" And Not ws.Name = "Feuil1" And Not ws.Name = "POS" And Not ws.Name = "Groupements" 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
JE PENSE QUE C'EST ICI QUE JE DOIS AJOUTER LA LIGNE.
For i = 1 To nWBK.Worksheets.Count
With nWBK.Worksheets(i)
.UsedRange.Value = .UsedRange.Value
End With
Next i
'ici ajouter ton code pour sauvegarder la copie
nWBK.SaveAs NomFic & ".xlsx", xlOpenXMLWorkbook
nWBK.Close
End Sub
Merci pour votre aide !
Jean