copie classeur sans formule en vba

excel_lence

XLDnaute Nouveau
Voilà j'ai telecharger un fichier ci joint creer par job75, que je remercie au passage, et vu que suis novice en vba je voudrai bien faire des modifications à ce fichier:

1- Pour la copie du classeur au lieu que ce soit toto je préfère gardé le même nom de classeur, dans le même fichier et bien sur, avec une extension différente (.xls) et cela avec exécution automatiquement de la macro après fermeture du classeur.

2- Faire la copie de tout le classeur sans avoir à choisir les onglets.

3- Faire la sauvegarde automatiquement dés fermeture du classeur.

MERCI pour tous ceux et celles qui porterons attention et répondrons à mon message.:confused:
 

Pièces jointes

  • copie(5).xls
    41 KB · Affichages: 107
  • copie(5).xls
    41 KB · Affichages: 111
  • copie(5).xls
    41 KB · Affichages: 120

job75

XLDnaute Barbatruc
Re : copie classeur sans formule en vba

Bonjour excel_lence, bienvenue sur XLD,

Ce que vous voulez faire n'a d'intérêt que si vous utilisez un fichier .xlsm, sur version Excel 2007 ou suivantes.

Dans ce cas placez cette macro dans ThisWorkbook :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim n%, chemin$, fichier$
If Val(Application.Version) < 12 Or Right(Me.Name, 4) = ".xls" Then Exit Sub
Me.Save 'sauvegarde
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier .xls existe déjà
With Application
  n = .SheetsInNewWorkbook
  .SheetsInNewWorkbook = Me.Worksheets.Count
  Workbooks.Add 'nouveau document
  .SheetsInNewWorkbook = n
End With
With ActiveWorkbook
  For n = 1 To .Worksheets.Count
    With .Worksheets(n)
      Me.Worksheets(n).Cells.Copy .Cells
      .UsedRange = .UsedRange.Value
      .Name = Me.Worksheets(n).Name
    End With
  Next
  chemin = ThisWorkbook.Path & "\" 'à adapter
  fichier = Left(Me.Name, Len(Me.Name) - 5) & ".xls"
  .SaveAs chemin & fichier, 56
  .Close
End With
End Sub
Edit : j'ai ajouté Me.Save puisque vous demandez la sauvegarde automatique.

A+
 
Dernière édition:

excel_lence

XLDnaute Nouveau
Re : copie classeur sans formule en vba

Merci job75,
le problème est que je suis encore novice :( alors même avec votre code je m'en sort pas, j'ai inséré le code comme prévu dans thisworkbook et ça n'a pas vraiment fonctionné comme je le souhaite, si vous voulez bien me donné un autre coup de main car j'en ai vraiment besoin. alors je vous demande si possible de reprendre carrément le fichier que j'ai posté en joint et en faire les modifications nécessaires à mes attentes et cela sans vous commandé et je vous en serai très reconnaissant.
 

job75

XLDnaute Barbatruc
Re : copie classeur sans formule en vba

Re,

Après avoir copié/collé le code dans ThisWorkbook, la seule chose à faire est d'enregistrer le fichier en .xlsm (classeur acceptant les macros).

Utilisez la commande Enregistrer sous de l'onglet Fichier.

Je ne peux rien vous dire de plus, tout ça est élémentaire.

Bonne nuit et A+
 

excel_lence

XLDnaute Nouveau
Re : copie classeur sans formule en vba

bonjour job75,
je vous remercie grandement, vous m'avez sauvé la vie, la macro fonctionne parfaitement ( désolé si je suis elementaire :) ), je promet de mis mettre à la vba. bonne journée.
 
Dernière édition:

excel_lence

XLDnaute Nouveau
Re : copie classeur sans formule en vba

slt tout le monde,
voilà je bosse bien avec le code vba ci dessus, poste #2, je voudrai seulement une petite modification de facon à avoir le choix, lors de la fermeture du fichier, entre sauvegarder ou pas le fichier en xlsm car des fois je fais des simulations et j'ai pas forcement besoin de sauvegarder. merci.
 
Dernière édition:

bouchet2

XLDnaute Nouveau
Re : copie classeur sans formule en vba

Je cherche sans résultat de traduire en VBA de coller une plage d'un tableau Excel en WORD texte et ensuite appliquer la fonction remplacer.

A la main ca marche
copier sur Excel
collage spécial dans Word choisir texte sans mise en forme
coller sur la page Word

appliquer plusieurs remplacer
comme
supprimer marque de paragraphe par rien
supprimer marque tabulation par rien

remplacer le sigle / que j'ai introduit a certains endroit de mon tableau par « a la ligne »
J’ai le texte que je désire et bien présenté.
J’ai beau essayé je suis bloqué sur collage spécial

Merci d'avance

jean Bouchet
 

Discussions similaires

Statistiques des forums

Discussions
312 495
Messages
2 088 969
Membres
103 993
dernier inscrit
Essens