begin process at 2012 02 15 15:00:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

Enregistrment feuille excel en VBA


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Enregistrment feuille excel en VBA

dimanche 2 décembre 2007 à 21:58:50 | Enregistrment feuille excel en VBA

vialatte69

Bonjour,

Je cherche à enregistrer une feuille excel sans enregistrer le fichier complet, ceci en VBA.

En fait je souhaite éviter l'enregistrement complet de mes macros, ceci prenant trop de temps.

En vous remerciant par avance.
lundi 3 décembre 2007 à 00:39:38 | Re : Enregistrment feuille excel en VBA

caco64

Un truc dans le genre :

Sub sauve_feuil_xls()

Dim xlapp As Excel.Application
Dim adr_rep As String, nom_fichier As String
Dim adr_fichier As String, adr_enr As String
Dim classeur_a_enr As Workbook
Dim feuille_a_enr As Worksheet
Dim Nomfeuille As String

   
    Set xlapp = New Excel.Application
   
    'indiquer l'adresse du répertoire
    adr_rep = ThisWorkbook.Path & "\"
    'indiquer nom du fichier excel
    nom_fichier = "vb_test.xls"
    'adresse du fichier
    adr_fichier = adr_rep & nom_fichier
   
    Set classeur_a_enr = xlapp.Workbooks.Open(adr_fichier)
   
    'choisir la feuille souhaitée par son n° (ou son nom)
    Set feuille_a_enr = classeur_a_enr.Sheets(1)
    Nomfeuille = feuille_a_enr.Name
    adr_enr = classeur_a_enr.Path & "\" _
              & Left(nom_fichier, Len(nom_fichier) - 4) _
              & "_" & Nomfeuille & ".xls"
   
    feuille_a_enr.SaveAs Filename:=adr_enr, FileFormat:=4
   
    Set feuille_a_enr = Nothing
    classeur_a_enr.Close savechanges:=False
    Set classeur_a_enr = Nothing
    Set xlapp = Nothing
   
End Sub


La haine aveugle n'est pas sourde
lundi 3 décembre 2007 à 14:03:57 | Re : Enregistrment feuille excel en VBA

vialatte69

Bonjour,

En fait je me suis mal exprimé, je souhaitais enregistrer ma feuille excel dans le même classeur avec le même emplacement tout en conservant mes macros.

J'ai une base de données que je souhaite sauvegarder régulièrement, sauf que la sauvegarde prend du temps compte tenu qu'elle enregistre également mes macros.

Et je sais qu'à l'usage, ceux qui l'utiliseront auront du mal à le faire trop souvent.

Je te remercie quand même pour ton aide...Ton code ne sera pas perdu.

Merci
lundi 3 décembre 2007 à 22:57:16 | Re : Enregistrment feuille excel en VBA

caco64

Je ne sais pas ce qui prend du temps dans un enregistrement, mais je suis un peu étonné que ce soit les macros.
Les macros, ce n'est jamais que quelques lignes de code, comparé à des centaines (milliers ?) de lignes remplis de formule, voire des graphiques, j'aurais plutôt pensé que les macros ne pèsent pas très lourd.

Quoi qu'il en soit, l'enregistrement du classeur sans les fichiers bas, je connais pas.

Bon courage.

La haine aveugle n'est pas sourde
mardi 4 décembre 2007 à 13:28:49 | Re : Enregistrment feuille excel en VBA

vialatte69

Bonjour,

En reprenant ton code, je me suis demandé si je ne pouvais pas pointé mon nouvel enregistrement sur mon propre fichier et la propre feuille que je dois enregistrer.

Le problème c'est que évidemment je suis alors en lecture seule.

Penses tu qu'il y a possiblité de forcer la main afin de passer ce verrou et écraser ma feuille source? (tout en conservant le reste)

En fait pour faire suite à ta remarque, je pense que ce sont mes Userform qui m'alourdissent l'enregistrement (j'en ai une soixantaine et aucun graphique)

Merci pour ton aide...Sinon merci quand même.


mardi 4 décembre 2007 à 22:10:47 | Re : Enregistrment feuille excel en VBA

caco64

Pour moi, le fichier xls est un tout indivisible du point de vue de l'enregistrement.
Lorsque tu utilises save as, tu peux n'enregistrer qu'une feuille parce que tu crées un nouveau fichier dont tu peux définir les éléments.

Mais, il n'y a pas possibilité, à ma connaissance, d'enregistrer des feuilles ou des macros à la carte.

Quant à ta question sur le lecture seule, je ne sais pas te répondre précisément. Mais je ne vois pas la possibilité d'écraser un fichier source sur lequel tu travailles...

Pas très optimiste tout ça...
A mon sens, la seule solution c'est de séparer les données contenues dans tes feuilles et les user form.
Pour cela, tu as un fichier qui contient les données, et un fichier .bas que tu contrôles dans un projet  vb à part (voire un 2° fichier excel) qui contient tes user form et qui récupère les valeurs dans le premier fichier. Tu n'as qu'à gérer l'enregistrement du fichier 1 qui sera très léger.
Plus facile à dire qu'à faire.

La haine aveugle n'est pas sourde
mardi 4 décembre 2007 à 22:25:17 | Re : Enregistrment feuille excel en VBA

vialatte69

L'idée est en fait très bonne, et pas si difficile à mettre en oeuvre...Juste un peu fastidieuse, mais je vais m'y atteler.
Comme quoi un échange permet parfois de sortir la tête du guidon.
En te remerciant encore.


Cette discussion est classée dans : vba, enregistrer, excel, feuille, enregistrment


Répondre à ce message

Sujets en rapport avec ce message

[VBA] enregistrer une feuille excel dans une feuille Word [ par pedrold75 ] Bonjour,J'ai une feuille excel avec des tableaux et des graphiques et je souhaiterais que cette feuille s'enregistre sous Word lorsque l'on click sur Filtre auto vba 6.3 Excel 2007 [ par helpvb ] Bonjour J aurais besoin du code vba6.3 afin d'activer un filtre sur la 1ere ligne de ma feuille Excel 2007 Je précise cette feuille est protégée et l Excel VBA - Proprièté "Visible" pour "Worksheet" [ par JM247L ] Bonjour,Il est des jours ou rien ne va ... comme on le souhaiteraitJ'ai une application sous excel dans laquelle je gère des tables dans une feuille c mise en forme conditionnel dans excel avec vba [ par caloumaya ] Bonjour,Je craque complètement.Je bidouille avec excel et vba un planning.Sur ma feuille 1  j'ai un tableau avec les types d'absence (CA, CE, AT.....) enregistrer uniquement une feuille de donnés excel dans un autre fichier excel [ par duquenoy13 ] Bonjour à tousje voudrais enregistrer uniquement une feuille de mon classeur dans un autre fichier excel dont on me demandera le nom et l'emplacement. VBA - Excel - Déterminer les numéros de ligne et colonne max) d'une feuille excel [ par jax54000 ] Bonjour,Via VBA je souhaite détérminer, pour une feuille excel, les numéros de la dernière ligne et de la dernière colonne utilisées (de cette feuille Comment peut-on travailler sur un fichier csv importer via le net ? [ par Rozzi ] Bonjour, Je suis jeune étudiant débutant en VBA Excel qui commence à bosser sur le Projet. En effet, ce projet a pour objectif de tester la maitrise Excel: protéger des cellules non vides par VBA [ par elge64 ] Bonjour, tout le monde.Je recherche un bout de VBA me permettant de sélectionner toutes les cellules non vides d'une feuille Excel pour les verrouille defilement feuilles excel vba [ par Mitchouboy33 ] bonjour à tous, voila j'ai un problème dans un de mes codes sous vba, je crée une base de données avec une feuille excel choisie au démarrage. Cette f convertion 2003-2000 vba recherche de feuille excel [ par jerem5252 ] Bonjour à tous,j ai un prob avec une partie de code lorsque je passe de  excel 2003 à 2000.Dim strmessage  As String    Dim i As Long        Set fs =


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales