IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Modification logiciel VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2020
    Messages : 2
    Par défaut Modification logiciel VBA
    Bonjour à Tous,

    J'ai développer un "logiciel" sur excel VBA pour réaliser mes chiffrages / factures .... mais j'ai une galère d'ordre générale:
    > J'améliore continuellement mon code
    > Mes chiffrages sont réalisés sur un Fichier.xlsm que je copie à chaque fois et que je renomme pour le suivi client / nom du chantier
    > Le code évolue continuellement suivant mes besoins et bug trouvés...

    J'aurai voulu que mon code soit autonome, c'est à dire extérieur aux données du devis.... puisqu'à chaque fois que j'ouvre un ancien fichier.xlsm, le code n'est pas à jour...

    Comment faire?

    Emmanuel

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Il suffit de mettre le code dans un classeur distinct des classeurs de données, et ajouter une commande pour choisir le fichier de données à traiter.

    Tu peux aussi enregistrer tes macros dans le classeur de macros personnelles Personal.xlsb, mais je ne suis pas fan.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2020
    Messages : 2
    Par défaut
    Citation Envoyé par Patrice740 Voir le message
    Bonjour,

    Il suffit de mettre le code dans un classeur distinct des classeurs de données, et ajouter une commande pour choisir le fichier de données à traiter.

    Tu peux aussi enregistrer tes macros dans le classeur de macros personnelles Personal.xlsb, mais je ne suis pas fan.
    Alors est-il possible de donner une extension spécifique à ce fichier de données et ensuite de pouvoir l ouvrir en double clickant dessus (ce qui ouvrirait mon classeur logiciel) .... Comme un .Doc qui ouvre automatiquement word

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Re,

    Ce que je t'ai proposé de faire, c'est d'enregistrer tes macros dans un fichier dédié (.xlsm).
    Au lancement de ce fichier de macros, tu peux mettre une macro qui ouvre une boite de dialogue "ouvrir" pour choisir le ou les fichiers de données qui eux pourraient être sans macro (.xlsx).

    EDIT :
    - L'avantage (qui peut aussi être un inconvénient) de cette méthode, c'est que tu utilises toujours la dernière version de tes macros
    - Je n'ai pas proposé une macro complémentaire (xlam) car son utilisation multiposte est moins souple quand le code évolue souvent.
    - L'inconvénient avec un modèle (xltm) : le fichier produit contient la macro du moment, donc ne suit pas les évolutions des macros.
    Ceci mis à part, pourquoi transférer au client un fichier Excel avec macro ? Ne serait-t'il pas préférable d'envoyer un pdf ?

  5. #5
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Bonjour

    Perso, je créérais un fichier .xlam (c'est comme un .xlsm mais sans "sheets" (du moins non visibles); juste le code).

    Tu places ton code dans le fichier .xlam et dans ton actuel fichier xlsm tu ajoutes une référence vers ton xlam.

    Donc; le minimum du minimum dans ton fichier et tout ton code en xlam.

    Autre piste : tout ton code en dehors d'Excel. Voici ma proposition : https://github.com/cavo789/vbs_xls_import_code.
    L'idée serait que tu gères ton code en dehors d'Excel, avec un éditeur comme p.ex. Visual Studio Code, et que tu importes le code dans ton nouveau fichier.

    Perso, je préfère la piste xlam de telle manière que ton code n'est qu'à un seul endroit (dans le xlam) et que chaque fichier réutilise ce même code.

    Bonne soirée

  6. #6
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 576
    Par défaut
    Bonjour,
    En fait c'est la destination du fichier qui est importante également !

    Un fichier macro complémentaire xlam comme proposé par Cavo789 prévoit un ajout dans les références VBA !

    Ce qui implique une distribution à toutes personnes susceptibles d'utiliser la macro !

    Si le fichier est destiné à un client il sera exempt de ses Macro sauf si tu lui fournir le xlam!

    En revanche c'est un bon moyen de transmettre ton devis à un client sans qu'il puisse visualiser le code des macros.

    Moi non plus je ne suis pas trop pour , à cause des contraintes que je viens de décrire.

    Mais ça fonctionne très très bien et tu est seul juge !

    Une autre possibilité utiliser un modèle avec macro xltm!

    Si tu double click sur un xltm il sera ouvert dans Excel mais te demandera de le nommer comme un niveau fichier excel !

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voir un billet que je viens d'écrire sur le sujet VBA Excel - Créer une macro complémentaire
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2013] Modif code VBA copie colle sous condition
    Par d.deneys dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/09/2013, 18h56
  2. [Toutes versions] Aide modif code vba pour liaison base
    Par Aladin_23 dans le forum VBA Access
    Réponses: 7
    Dernier message: 20/11/2012, 17h44
  3. [WD-2007] Modification Code VBA
    Par CG2956 dans le forum VBA Word
    Réponses: 1
    Dernier message: 20/12/2011, 16h46
  4. Réponses: 12
    Dernier message: 27/04/2011, 20h59
  5. Modification du VBA dans MDE
    Par nefertari dans le forum VBA Access
    Réponses: 5
    Dernier message: 06/06/2007, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo