Empêcher l'ouverture d'un fichier Excel enregistré dans XLSTART

0

Bonjour à tous, 

J'ai créer une macro que j'ai enregistré dans "classeur macro personnalisée" pour qu'elle soit enregistrée dans chaque fichier Excel que j'ouvre.

Or, dès que j'ouvre un fichier Excel, la macro est bien enregistrée donc nickel MAIS un fichier Excel vierge nommé "PERSONNAL" s'ouvre à chaque fois que j'ouvre un fichier Excel.

Je me suis renseignée et c'est parce que ma macro est enregistrée dans "classeur macro personnalisée" ET DONC dans un dossier nommé XLSTART.


Ma  question est la suivante :

Comment pourrais-je faire pour qu'à chaque ouverture d'un fichier Excel, ma Macro soit enregistrée dans ce fichier SANS que mon fichier "PERSONNAL" s'ouvre également ?


Je vous remercie d'avance ! :) 

    Posté le 5 janvier, 14:30
    par Raphhh
    Répondre
    -2

    Bonsoir Raphhh,

    le dossier XLSTART est un dossier spécial pour lequel les fichiers qui y sont placés
    sont ouverts automatiquement au démarrage d'Excel = lors du lancement d'Excel ;
    comme le fichier PERSONAL.XLSB est stocké dans le dossier XLSTART, c'est
    donc tout à fait normal qu'il soit ouvert automatiquement à chaque démarrage
    d'Excel ; au lieu d'utiliser PERSONAL.XLSB, je te propose cette solution :

    * mets ta macro personnelle dans un fichier Excel que tu appelleras par exemple
    UTLP.xlsm ; UTLP est mon abréviation pour Utilitaires Personnels ; enregistre ce
    fichier dans un dossier de ton choix ; moi, je l'ai mis dans C:\UtlXL ; c'est mon
    abréviation pour Utilitaires Excel ; si tu préfères, tu peux le mettre dans :
    C:\Users\Raphhh\Documents\UtlXL

    * dans chacun de tes fichiers Excel où tu voudras utiliser ta macro personnelle,
    fais Alt F11 ➯ fenêtre "Microsoft Visual Basic pour Applications" ; menu Outils /
    Références... ➯ fenêtre "Références - VBA Project" ; côté droit, clique sur le
    bouton "Parcourir..." ; par défaut, le dossier ouvert est C:\Windows\System32.

    choisis à la place C:\UtlXL ou C:\Users\Raphhh\Documents\UtlXL ; en bas,
    juste au dessus du bouton "Ouvrir", il y a "Bibliothèques de types (*.olb;*.t...)" ;
    choisis à la place le 1er item de la liste "Microsoft Excel Files (*.xlsm;*.xl...)".

    au-dessus, sélectionne UTLP (c'est UTLP.xlsm) ; en bas, clique sur le bouton
    "Ouvrir" ➯ retour à la fenêtre "Références - VBA Project" ; en haut à droite,
    clique sur le bouton "OK" : tu viens d'ajouter une référence à ton projet VBA.

    dès lors, toutes les macros que tu as mises dans UTLP.xlsm sont disponibles
    pour ton fichier Excel en cours.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ce qui suit est juste une petite vérification ; inutile de le refaire à chaque fois :

    dans la fenêtre Projet, sous ThisWorkbook, il y a une ligne "Références" ;
    clique sur le « + » qui est devant ➯ tu vois : "Référence à UTLP.xlsm".

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    petit complément : si tu as beaucoup de fonctions personnelles, tu peux les
    réunir dans un fichier FNCP.xlsm, que tu référenceras de la même façon.

    je parle ici de fonctions uniquement, donc des Function, pas des Sub ;
    ainsi, dans mon dossier UtlXL, j'ai à la fois UTLP.xlsm et FNCP.xlsm.

    rhodo

    rhodo Posté le 5 janvier, 19:32
    par rhodo
    0

    Salut Rhodo, 


    Je te remercie de ta rapide réponse !!

    Tout fonctionne sauf au moment d'insérer la macro via la fenêtre référence. Un message d'erreur s'affiche : "nom de module, de projet ou de bibliothèque d'objets déjà utilisé."

    Je click sur ok, et lorsque je veux exécuter ma Macro un deuxième message d'erreur s'affiche :"404"

    Saurais-tu d'où vient ce problème ? 


    Posté le 16 janvier, 08:39
    par Raphhh
    0

    Bonsoir Raphhh,

    via la fenêtre référence, ce n'est pas la macro qu'on insère mais la référence
    du fichier Excel
    qui contient cette seule macro (ou aussi d'autres macros).

    j'avais bien écrit « au lieu d'utiliser PERSONAL.XLSB » ; alors ta macro ne
    doit pas être à la fois dans PERSONAL.XLSB et dans UTLP.xlsm.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    pour l'erreur "nom de module, de projet ou de bibliothèque d'objets déjà utilisé.",
    regarde ces 3 liens :

    https://learn.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/name-conflicts-with-existing-module-project-or-object-library

    https://www.developpez.net/forums/d1178912/logiciels/microsoft-office/excel/macros-vba-excel/nom-module-projet-bibliotheque-d-objet-deja-utilise/

    https://forum.excel-pratique.com/excel/nom-de-module-de-projet-deja-utilise-141282

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    l'erreur vba "404" est : "Objet requis" ; il y a plusieurs causes possibles ;
    voici un exemple d'erreur 404 qui a été résolu :

    https://forums.commentcamarche.net/forum/affich-32512949-erreur-404-objet-requis

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ce n'est pas évident d'essayer de dépanner à distance ce genre de problème !
    j'espère que ça t'aidera ; bonne chance !

    rhodo

    rhodo Posté le 16 janvier, 18:32
    par rhodo
    0

    En ce qui concerne le message d'erreur "nom de module, de projet ou de bibliothèque d'objets déjà utilisé." c'est OK j'ai pu m'en libérer. Par contre la fenêtre "Erreur 400" lorsque j'exécute la macro s'affiche toujours... 

    Malgré tous les forums parcourus, je n'ai pas trouvé de réponses...


    Posté le 18 janvier, 15:26
    par RM
    0

    Bonjour RM,

    je viens de voir ton post d'hier, d'où le retard de ma réponse.

    de façon générale, quand tu indiques une erreur, ne mets pas seulement le numéro
    de l'erreur mais aussi le texte complet de ce message d'erreur : c'est plus sûr !

    tu as écrit "Erreur 400" ; ce n'est plus "Erreur 404" ? l'erreur 404 est "Objet requis" ;
    quel est le texte pour ton erreur 400 ? attention : l'erreur 400 peut avoir plusieurs
    causes ! je te laisse lire ce lien :

    https://www.moyens.net/office/comment-reparer-lerreur-vba-400-dans-excel/

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    si tu arrives à régler le problème, ok ; sinon, joins ton fichier Excel ; si ton erreur 400 est
    liée à ton code VBA : indique dans quel module, dans quelle sub, et sur quelle ligne de
    code VBA se produit l'erreur.

    * si ton erreur 400 se produit aussi sur mon PC, je pourrai peut-être arriver à résoudre
    le problème.

    * si ton erreur 400 est liée à une cause inhérente à ton PC, je ne pourrai rien faire
    (par exemple virus sur ton PC, ou si ton logiciel Excel est mal installé, ou s'il faut
    que tu répares ton logiciel Office)
    .

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    par précaution, fais avec ton antivirus une analyse complète de ton PC ; si ton antivirus
    détecte un virus et arrive à l'éradiquer, ça résoudra peut-être ton erreur 400 ?

    pour joindre ton fichier : va sur le site de partage de fichiers cjoint.com (c'est gratuit,
    et c'est très bien expliqué comment faire)
     ; tu devras coller dans ton prochain post ici
    le lien de téléchargement que tu auras copié sur cjoint.com (avec le clic droit).

    rhodo

    rhodo Posté le 19 janvier, 15:54
    par rhodo

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :