Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

copier feuille sans boutons

  • Initiateur de la discussion robert
  • Date de début
R

robert

Guest
Bonjour,

J'ai actuellement une macro qui me copie dans un autre classeur une feuille excel dun classeur differents pour diminuer la taille du fichier lors de lenregistrement

Sub Enregis()

Dim NomFic As String
NomFic = Range('A24').Value
Sheets('Facture').Copy
ActiveWorkbook.SaveAs Filename:=NomFic
End Sub

Dans cette meme feuille il ya des boutons jaimerai copié ma feuille sans les boutons juste le texte et la mise en forme.

D'avance merci
 

MichelXld

XLDnaute Barbatruc
bonsoir Robert

pour supprimer les boutons dans la feuille copiée , tu peux essayer :


Code:
Sub EnregistreSansBoutons()
Dim NomFic As String
Dim oleObj As OLEObject

NomFic = Range('A24').Value
Sheets('Facture').Copy

For Each oleObj In ActiveSheet.OLEObjects
If oleObj.progID = 'Forms.CommandButton.1' Then oleObj.Delete
Next oleObj

ActiveWorkbook.SaveAs Filename:=NomFic
End Sub



bonne soiree
MichelXld
 
J

julos08

Guest
Michel la macro ne marche pas elle se bloque a la ligne obj.delete

Sub EnregistreSansBoutons()
Dim NomFic As String
Dim Obj As Object

NomFic = Range('A24').Value
Sheets('Facture').Copy

For Each Obj In ActiveSheet.DrawingObjects
Obj.Delete ' suppression des boutons , checkboxs..etc ...
Next Obj



ActiveWorkbook.SaveAs Filename:=NomFic
End Sub
 
J

julos08

Guest
Michel voici mon fichier.
quand tu clic sur enregistrer sa plante [file name=FACTURE.zip size=36871]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FACTURE.zip[/file]
 

Pièces jointes

  • FACTURE.zip
    47.2 KB · Affichages: 49
  • FACTURE.zip
    47.2 KB · Affichages: 49
  • FACTURE.zip
    47.2 KB · Affichages: 49

MichelXld

XLDnaute Barbatruc
rebonsoir Julos08

tu peux tester cette adaptation dans le classeur
( testé avec Excel2002 )


Code:
Sub EnregistreSansBoutons()
Dim NomFic As String
Dim Obj As Shape

NomFic = Range('A24').Value
Sheets('Facture').Copy

For Each Obj In ActiveSheet.Shapes
If Obj.Type = msoFormControl Then Obj.Delete
Next Obj
End Sub


bonne soiree
MichelXld
 
F

François l'aîné

Guest
Bonjour julos08

Ayant eu le même problème, je me permets de te soumettre ma solution qui n'enregistre que la partie de la feuille qui m'intéresse (en l'occurence, le devis). De plus pour pouvoir faire plusieurs devis à la suite la macro va vérifier le numéro de dernier devis et propose le numéro suivant.

Espérant que cela te sera utile.

Cordialement.

François.
 
F

François l'aîné

Guest
Oups

oublié la pièce jointe. La voila. [file name=Save_mini.zip size=16968]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Save_mini.zip[/file]
 

Pièces jointes

  • Save_mini.zip
    16.6 KB · Affichages: 67

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…