Sauvegarde fichier par VBA [Résolu/Fermé]

Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
- - Dernière réponse : mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
- 28 avril 2016 à 18:37
Bonjour,

J'utilise le code ci-dessous pour sauvegarder automatiquement mes fichiers.

je n'ai rien changé à mon code, dans le module ou se trouve ce code, et ça ne marche plus.
le chemin est bien indiqué dans la cellule E2 de la feuille 6 !!!

Voici le code :

Dim chemin As String
chemin = ThisWorkbook.Worksheets(6).Range("E2")

MsgBox ("le chemin mémorisé est : " & chemin)

nom_xls = (chemin & Nom & ".xls")
ActiveWorkbook.ActiveSheet.SaveAs Filename:=nom_xls


j'ai ajouté un MsgBox pour voir, et la variable chemin affiche "vide" ???

Auriez-vous une piste de recherche ?

Merci d'avance.

Cordialement
Afficher la suite 

3 réponses

Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
420
0
Merci
Bonjour,

Dans ton autre post tu fais ceci:

 chemin_devis = Sheets("données_logiciel").Range("E2").Value


Pourquoi ne pas faire la même chose au lieu de mettre un numéro (qui ne correspond peut-être pas à ta feuille):

 chemin = Sheets("données_logiciel").Range("E2").Value



cs_Le Pivert
Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
420 -
Une autre source d'erreur:

je n'ai rien changé à mon code, dans le module ou se trouve ce code,

Si tu travailles sur plusieurs modules, l'erreur provient certainement de ta variable chemin qui n'est pas déclarée Public!
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 > cs_Le Pivert
Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
-
Bonjour,

Merci pour ta réponse.

J'ai suivi ta remarque du post 1 et effectivement je n'ai plus de problème.
Tu doit peut-être aussi avoir raison pour la remarque du post 2 . j'ai aujourd'hui 9 modules.

Peux-tu juste me donner plus d'explication sur "déclarée Public" ?

Cordialement
Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
420
0
Merci
Un petit cours a lire en entier pour comprendre:

http://silkyroad.developpez.com/VBA/LesVariables/#LV

Et pour ton problème voir:

Le niveau des variables
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 -
Bonjour,

Merci pour ta réponse.

A la lecture du texte, de ton lien, me vient une question:

Pour que la variable soit utilisable dans toutes les macros du projet, il faut utiliser l'instruction Public et la variable doit impérativement être placée en tête d'un module standard :

Dans le texte on parle de toutes les macros du projet.

il faut comprendre :

Placer la variable dans n'importe quel module même s'il y a 10 modules ?
la variable sera OK pour tous les modules ?
les UserForm ?
les macros dans les feuilles ?

Cordialement
Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
420
0
Merci
Le mieux, tu insères un nouveau module pour mettre toutes tes variables qui sont Public .
Attention, comme il est dit dans le lien, il ne doit pas avoir de doublons de variable!
Quand tu mets une variable Public, tu supprimes celle qui se trouve dans un module.
Apprends toi à mettre Option Explicit tout en haut de tes modules. Cela corrige les erreurs de déclaration de variable

Bonne continuation
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 -
Bonjour,

Merci pour ces réponses. je vais appliquer à la lettre.

Cordialement