Exclure feuille de la boucle
Bonjour,
J'ai un classeur avec des feuilles qui commencent par "Récapitulatif..." et "Ventilation...".
Je souhaite supprimer toutes ces feuilles mais garder la dernière (qui a toujours cette position) dont le nom est "Récapitulatif par médecin".
Une idée comment faire s'il vous plait ?
Voici la partie de mon code qui supprime ces feuilles :
For Each xWs In Sheets
If Left(xWs.Name, 13) = "Récapitulatif" Then
xWs.Delete
Else
If Left(xWs.Name, 11) = "Ventilation" Then
xWs.Delete
End If
End If
NextAussi, sur toutes les feuilles je fais une mise en page de cette façon :
For Each xWs In Sheets
xWs.Select
Columns("D:J").EntireColumn.Delete
Columns("E:I").EntireColumn.Delete
Columns("G").EntireColumn.Delete
Range("A4:F5").AutoFilter
Range("A4:F5").Select
With Selection.Interior
.Color = 65535
End With
NextJ'aimerais l'appliquer à toute les feuilles, sauf la dernière.
Sur la dernière j'aimerais supprimer les colonnes de B à I, garder la J et supprimer la K.
Ca me ferait quelque chose comme ça :
Columns("B:I").EntireColumn.Delete
Columns("C:C").EntireColumn.Delete
'une fois supprimé de B à I, la K se retrouve en colonne CMon code complet utilisé jusqu'à maintenant est le :
Sub traitement_et_export_uped()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim xWs As Worksheet
Dim xWb As Workbook
Dim FolderName As String
Dim periode As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xWb = Application.ThisWorkbook
periode = InputBox("Entrez la periode concernée (ex : 04.20) : ")
For Each xWs In Sheets
If Left(xWs.Name, 13) = "Récapitulatif" Then
xWs.Delete
Else
If Left(xWs.Name, 11) = "Ventilation" Then
xWs.Delete
End If
End If
Next
For Each xWs In Sheets
xWs.Select
Columns("D:J").EntireColumn.Delete
Columns("E:I").EntireColumn.Delete
Range("A4:G5").AutoFilter
Range("A4:G5").Select
With Selection.Interior
.Color = 65535
End With
NextMerci beaucoup pour votre précieuse aide.
Bonjour
Une idée comment faire s'il vous plait ?
Voici la partie de mon code qui supprime ces feuilles :
Si vous remplacez la partie de code pour la suppression de feuille par ceci :
For Each xWs In Sheets
If xWs.Name <> "Récapitulatif par médecin" Then xWs.Delete
Next xWsensuite la partie plus bas comme ceci :
For Each xWs In Sheets
With xWs
If .Name <> "Récapitulatif par médecin" Then
.Columns("D:J").EntireColumn.Delete
.Columns("E:I").EntireColumn.Delete
With .Range("A4:G5")
.AutoFilter
.Interior.Color = 65535
End With
End If
End With
Next xWsSi ok,
NB : merci de pensez à cloturer vos fils encore ouverts
Crdlt