Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression de feuille par macro

2 réponses
Avatar
rthompson
Bonjour à toutes et tous


Dans un fichier XLS en office2003

J'ai une macro qui fait toute une serie d'importation (merci les gars)

Ce que je voudrais c'est qu'en terminant il supprime toutes les feuilles à
part une

La macro est ci-dessous
Et je voudrais garder uniquement la feuille nommée "OrdersToDate"

Merci et à très bientôt

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Cmdresume_Click()
Dim Choix As Integer, NomFichier As String, i As Integer
ChDir "C:\AA-Rex-Data\Paperview\gabors files for macros"
ChDrive "c:"
Choix = 6
Do While Choix = 6
Application.Dialogs(xlDialogOpen).Show
NomFichier = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
With Workbooks("Master-rex.xls")
.Sheets.Add
For i = 1 To .Sheets.Count
If NomFichier = .Sheets(i).Name Then
MsgBox "Ce classeur a déjà été ouvert"
ActiveWorkbook.Close
Application.DisplayAlerts = False
.Sheets(1).Delete
Application.DisplayAlerts = True
Exit Sub
End If
Next i
.Sheets(1).Name = NomFichier
ActiveSheet.Range("A62:X62").Copy
End With
Windows("Master-rex.xls").Activate
Sheets("OrdersToDate").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown
ActiveCell.PasteSpecial Paste:=xlPasteValues
Workbooks(NomFichier & ".xls").Close

Choix = MsgBox("Ouvrir un autre classeur ?", 3)
If Choix = 2 Then Exit Sub ' Choix "Annuler"
If Choix = 7 Then Exit Do ' Choix "Non"
Loop
'*************************
'Traitement des données
'*************************

End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2 réponses

Avatar
Daniel.C
Bonjour.
Essaie :

Sub test()
Dim sh As Worksheet
For Each sh In Sheets
Application.DisplayAlerts = False
If sh.Name <> "OrdersToDate" Then
sh.Delete
Next sh
Application.DisplayAlerts = True
End Sub

Cordialement.
Daniel

Bonjour à toutes et tous


Dans un fichier XLS en office2003

J'ai une macro qui fait toute une serie d'importation (merci les gars)

Ce que je voudrais c'est qu'en terminant il supprime toutes les feuilles à
part une

La macro est ci-dessous
Et je voudrais garder uniquement la feuille nommée "OrdersToDate"

Merci et à très bientôt

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Cmdresume_Click()
Dim Choix As Integer, NomFichier As String, i As Integer
ChDir "C:AA-Rex-DataPaperviewgabors files for macros"
ChDrive "c:"
Choix = 6
Do While Choix = 6
Application.Dialogs(xlDialogOpen).Show
NomFichier = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
With Workbooks("Master-rex.xls")
.Sheets.Add
For i = 1 To .Sheets.Count
If NomFichier = .Sheets(i).Name Then
MsgBox "Ce classeur a déjà été ouvert"
ActiveWorkbook.Close
Application.DisplayAlerts = False
.Sheets(1).Delete
Application.DisplayAlerts = True
Exit Sub
End If
Next i
.Sheets(1).Name = NomFichier
ActiveSheet.Range("A62:X62").Copy
End With
Windows("Master-rex.xls").Activate
Sheets("OrdersToDate").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown
ActiveCell.PasteSpecial Paste:=xlPasteValues
Workbooks(NomFichier & ".xls").Close

Choix = MsgBox("Ouvrir un autre classeur ?", 3)
If Choix = 2 Then Exit Sub ' Choix "Annuler"
If Choix = 7 Then Exit Do ' Choix "Non"
Loop
'*************************
'Traitement des données
'*************************

End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Avatar
rthompson
Bonsoir

T'avais juste (dans ta précipitation)
oublier le end if

Mais c'est Nickel

Reste jusyte l'autre question et puis une dernière pour ce soir

A bientôt

Rex



"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie :

Sub test()
Dim sh As Worksheet
For Each sh In Sheets
Application.DisplayAlerts = False
If sh.Name <> "OrdersToDate" Then
sh.Delete
Next sh
Application.DisplayAlerts = True
End Sub

Cordialement.
Daniel

Bonjour à toutes et tous


Dans un fichier XLS en office2003

J'ai une macro qui fait toute une serie d'importation (merci les gars)

Ce que je voudrais c'est qu'en terminant il supprime toutes les feuilles
à part une

La macro est ci-dessous
Et je voudrais garder uniquement la feuille nommée "OrdersToDate"

Merci et à très bientôt

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Cmdresume_Click()
Dim Choix As Integer, NomFichier As String, i As Integer
ChDir "C:AA-Rex-DataPaperviewgabors files for macros"
ChDrive "c:"
Choix = 6
Do While Choix = 6
Application.Dialogs(xlDialogOpen).Show
NomFichier = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) -
4)
With Workbooks("Master-rex.xls")
.Sheets.Add
For i = 1 To .Sheets.Count
If NomFichier = .Sheets(i).Name Then
MsgBox "Ce classeur a déjà été ouvert"
ActiveWorkbook.Close
Application.DisplayAlerts = False
.Sheets(1).Delete
Application.DisplayAlerts = True
Exit Sub
End If
Next i
.Sheets(1).Name = NomFichier
ActiveSheet.Range("A62:X62").Copy
End With
Windows("Master-rex.xls").Activate
Sheets("OrdersToDate").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown
ActiveCell.PasteSpecial Paste:=xlPasteValues
Workbooks(NomFichier & ".xls").Close

Choix = MsgBox("Ouvrir un autre classeur ?", 3)
If Choix = 2 Then Exit Sub ' Choix "Annuler"
If Choix = 7 Then Exit Do ' Choix "Non"
Loop
'*************************
'Traitement des données
'*************************

End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx