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 Sub

A+

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 Sub

A+

Je te remercie pour tout Bruno.

Maintenant je comprends mieux certaines choses.

Bonne journée

Rom

Rechercher des sujets similaires à "bug lors enregistrement xlsx"