Bug lors de l'enregistrement en xlsx
Bonjour,
Je suis désolé mas même après avoir écumé les forums je n'ai pas trouvé d'où vient mon bug. Cetainement que c'est très c...
Mais je suis un petit débutant.
Donc ci-dessous, j'ai mis le code VBA que j'ai mis en place.
Le but est simple :
- Je fais un copier/coller d'une feuille que je renomme.
- Je supprime les lignes vides .
- Je veux enregistrer cette nouvelle feuille créée en xls avec le choix de la destination et du nom du fichir. Là c'est le bug.
- Je veux supprimer cette nouvelle feuille créée une fois enregistrée.
Pourriez-vous 'aider à corriger ce bug ?
Merci
Rom
Sub Request()'
' Request Macro
' Création Samples Request
'
'
Sheets("Base").Select
Sheets("Base").Copy After:=Sheets(1)
Sheets("Base (2)").Select
Sheets("Base (2)").Name = "Samples Request"
Range("A13:A500").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
ActiveWorkbook.SaveAs Filename:=Application.GetSaveAsFilename & ".xlsx", FileFormat:=xlOpenXMLWorkbook
Sheets("Samples Request").Select
ActiveWindow.SelectedSheets.Delete
End Sub
Bonjour Rom
Plus simple copier directement la feuille dans un nouveau classeur
Sub Request()
Dim sPathFic As String
' Copier la feuille dans un nouveau classeur
Sheets("Base").Copy
With ActiveWorkbook.ActiveSheet
.Name = "Samples Request"
On Error Resume Next ' Si aucune ligne vide
.Range("A13:A500").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
End With
' Emplacement et Nom du fichier à sauvergarder
sPathFic = Application.GetSaveAsFilename(InitialFileName:="", FileFilter:="Tout fichier (*.xlsx),*.xlsx", FilterIndex:=0, Title:="Nom du fichier à enregistrer")
' Sauvegarde
ActiveWorkbook.SaveAs Filename:=sPathFic, FileFormat:=xlOpenXMLWorkbook
End SubA+
Merci Bruno
Effectivement ca repond plus à mes besoins.
Par contre je l'ai intégré dans un bouton et celui-ci reste sur le nouveau classeur créé.
Y aurait-il un moyen de le supprimer ?
Salut Rom,
Tu sélectionne ton bouton sur le fichier d'origine et tu lui donnes un nom "BtnCopie" par exemple
Ensuite, dans le code tu peux faire
Sub Request()
Dim sPathFic As String
' Copier la feuille dans un nouveau classeur
Sheets("Base").Copy
With ActiveWorkbook.ActiveSheet
.Name = "Samples Request"
On Error Resume Next ' En cas d'erreur on continue
.Shapes("BtnCopie").Delete
.Range("A13:A500").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
End With
' Emplacement et Nom du fichier à sauvergarder
sPathFic = Application.GetSaveAsFilename(InitialFileName:="", FileFilter:="Tout fichier (*.xlsx),*.xlsx", FilterIndex:=0, Title:="Nom du fichier à enregistrer")
' Sauvegarde
ActiveWorkbook.SaveAs Filename:=sPathFic, FileFormat:=xlOpenXMLWorkbook
End SubA+
Je te remercie pour tout Bruno.
Maintenant je comprends mieux certaines choses.
Bonne journée
Rom