VBA : enregistrer une feuille et supprimer les liaisons
Résolu
Maud1681
Messages postés
14
Statut
Membre
-
Maud1681 Messages postés 14 Statut Membre -
Maud1681 Messages postés 14 Statut Membre -
Bonjour,
J'utilise le code ci-dessous pour copier une feuille d'un doc excel et l'enregistrer :
1) on clique sur le bouton
2) la feuille est copiée/enregistrée sous un nom et le bouton de la macro disparait
3) le doc source se ferme sans sauvegarde
Le doc source a des cellules dont le contenu est lié à une autre feuille du classeur.
Pb : la feuille copiée garde les liaisons que je voudrais supprimer... savez vous comment modifier mon code ?
Private Sub CommandButton4_Click()
'Macro : quand le fichier est complété, on clique sur le bouton 4, la feuille est copiée et Le fichier d'origine est effacé et fermé.
Dim nomfichier As String
Dim FileExtStr As String
Dim FileFormatNum As Long
ThisWorkbook.ActiveSheet.Copy
ActiveSheet.Shapes("CommandButton4").Visible = False
FileExtStr = ".xlsm": FileFormatNum = 52
ActiveSheet.SaveAs Filename:= _
"\\xxxxx\xxxx\xxx\xx\test\" & "test" & ".xls"
ThisWorkbook.Close SaveChanges:=False
End Sub
Vous remerciant d'avance
J'utilise le code ci-dessous pour copier une feuille d'un doc excel et l'enregistrer :
1) on clique sur le bouton
2) la feuille est copiée/enregistrée sous un nom et le bouton de la macro disparait
3) le doc source se ferme sans sauvegarde
Le doc source a des cellules dont le contenu est lié à une autre feuille du classeur.
Pb : la feuille copiée garde les liaisons que je voudrais supprimer... savez vous comment modifier mon code ?
Private Sub CommandButton4_Click()
'Macro : quand le fichier est complété, on clique sur le bouton 4, la feuille est copiée et Le fichier d'origine est effacé et fermé.
Dim nomfichier As String
Dim FileExtStr As String
Dim FileFormatNum As Long
ThisWorkbook.ActiveSheet.Copy
ActiveSheet.Shapes("CommandButton4").Visible = False
FileExtStr = ".xlsm": FileFormatNum = 52
ActiveSheet.SaveAs Filename:= _
"\\xxxxx\xxxx\xxx\xx\test\" & "test" & ".xls"
ThisWorkbook.Close SaveChanges:=False
End Sub
Vous remerciant d'avance
A voir également:
- Vba enregistrer une feuille excel dans un dossier
- Audacity enregistrer son pc - Guide
- Dossier appdata - Guide
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
1 réponse
Bonjour,
En passant par une feuille intermediaire, pas un classeur (
En passant par une feuille intermediaire, pas un classeur (
ThisWorkbook.ActiveSheet.Copy), genera pas puisque vous fermez sans enregistrer
Private Sub CommandButton4_Click() 'Macro : quand le fichier est complété, on clique sur le bouton 4, la feuille est copiée et Le fichier d'origine est effacé et fermé. Dim nomfichier As String Dim FileExtStr As String Dim FileFormatNum As Long With ActiveSheet .Shapes("CommandButton4").Visible = False .Cells.Copy End With Sheets.Add After:=ActiveSheet Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveSheet.SaveAs Filename:="\\xxxxx\xxxx\xxx\xx\test\" & "test" & ".xls", FileFormat:=56 ThisWorkbook.Close SaveChanges:=False End Sub
J'ai appliqué ta méthode mais cela copie la feuille en supprimant les liaisons mais j'aimerais conserver la mise en forme et des boutons de macro qui doivent être actifs pour l'utilisateur suivant...
Ok, je regarde
suite:
Peut-etre le nom de feuille copiee a voir
Range("A35:C35").Select
Selection.Copy
Range("A35").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Merci beaucoup pour ton aide