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

Excel Discussion :

Desactiver liens fonctions


Sujet :

Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Desactiver liens fonctions
    Bonjour,
    J'ai un tableau excel indépendant qui reprend les caractéristiques et prix de tous mes articles.
    Pour chacune des familles de produits, j'ai un MODELE de devis xltm
    Dans ce modèle, j'ai utilisé la fonction index qui me permet de sélectionner mon article en liste déroulante, et ainsi toutes les caractéristiques ainsi que les prix qui sont dans mon classeur indépendant se mettent à jour automatiquement.
    Jusque là, tout va bien.
    Mes problèmes :
    1- pour activer ces liens, il faut que le classeur de prix soit ouvert. Connaitriez vous un moyen (peut être une macro) qui ferait que ce classeur s'ouvre lui aussi automatiquement à l'ouverture du modèle de devis?
    2-Pb plus important : que mes liens se mettent à jour à l'ouverture du modèle, c'est très bien, c'était d'ailleurs le but recherché !!!! Mais une fois que j'enregistre mon devis client en xlsx, qui n'est donc plus un modèle mais un devis normal, unique à un Client spécifique, je voudrais que les mises à jour ne se fassent plus avec mon classeur de base.
    Je m'explique, j'utilise le modèle de devis en 2013, j'envoie le devis au client en 2013 avec caractéristiques et prix 2013. Arrive 2014, je change mes caractéristiques, ou simplement mes prix, je voudrais que mon devis client ne "bouge" pas pour garder une trace de ce que j'ai envoyé en 2013.
    Merci de m'aider.
    Et merci de votre attention.
    Cordialement

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    1. pour l'ouverture du classeur tu peux faire cela dans l’évènement Open dans Thisworkbook

    2. si les fichiers ne doivent plus changer après enregistrement, tu peux toujours utiliser l'enregistrement sous format pdf.
    Jérôme

  3. #3
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour
    A placer dans VBAproject/Microsoft excel objets/this workbook
    permet l 'ouverture du classeur source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_Open()
    Dim Cls As Workbook
     
    Set Cls = Application.Workbooks.Open("c:\sources\matériel informatique.xls", , True)
    'true signifie une ouverture en lecture seule, faire trés attention au chemin du fichier
    End Sub
    Permet de rompre les liaisons lors de la fermeture du classeur et ferme le classeur source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
     
        ActiveWorkbook.BreakLink Name:="c:\sources\matériel informatique.xls", Type:=xlExcelLinks
        'nom du classeur source.Close
    End Sub

  4. #4
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Suite essais
    Merci beaucoup keygen08,
    tes conseils fonctionnent parfaitement, c'est génial, merci encore!

    Si je peux me permettre une autre question :
    mon classeur de base étant un modèle
    quand je le ferme, il s'enregistre dans un autre classeur normal
    Grâce à l'action que tu m'as conseillée dans VBA, pas de problème les liens se désactivent.

    en revanche, quand j'ouvre ce nouveau classeur sans liens en xlsm, le classeur de prix de base s'ouvre toujours alors que, pour le coup, je n'en ai plus besoin...
    Peut désactiver son ouverture quand j'enregistre mon devis?

    De plus, toujours pour l'enregistrement, je souhaiterais enregistrer uniquement la feuille en cours d'utilisation...Faute de mémoire, j'aurais un problème si tous mes devis reprennent l'ensemble du classeur.

    Merci encore pour tes conseils si tu peux m'aider.
    cordialement,

  5. #5
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonsoir

    Peut désactiver son ouverture quand j'enregistre mon devis?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'supprime la ligne 4 de thisworkbook-open
        ThisWorkbook.VBProject.VBComponents("thisworkbook").CodeModule.DeleteLines (4)
        ActiveWorkbook.BreakLink Name:="c:\sources\matériel informatique.xls", Type:=xlExcelLinks
        'nom du classeur source.Close
    End Sub
    je souhaiterais enregistrer uniquement la feuille en cours d'utilisation
    Il faudrai, je pense, au moment de l'enregistrement exporter cette feuille dans un nouveau classeur ainsi elle serait seule dans le classeur et il n'y aurait meme plus besoin de modifier l'autre macro. Les liens deviendait egalement inactif a ce moment la.
    Cela donnerai 1 . ouverture des 2 classeurs
    2 . etablissement du devis
    3 . creation d'un classeur, exportation des données, enregistrement
    4 . remise a zero de ton classeur modele et fermeture.

    Ne serai ce pas plus simple ainsi.

  6. #6
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut comment?
    Merci encore de ta disponibilité.
    Ton orientation semble en effet super interessante et elle simplifierait énormément les choses...
    Mais là, est ce mon inexpérience ou la tête dans le guidon, mais je suis complètement larguée!
    comment la mettre en oeuvre?
    Merci encore

  7. #7
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut Ajout de code
    Il est un proverbe qui dit : cent fois sur le metier, tu remettras ton ouvrage.

    Donc, on pourrai aussi creer un userform ressemblant a ta feuille et copier les données dans une database(une feuille excel ne contenant que les données), ensuite on rapelle la ligne concernée qui charge le userform en fonction des critere nom, prenom, n°client ou autres.
    avantage: tous est dans le meme classeur
    inconvenient : difficulté de mise en oeuvre pour un débutant

    Tous cela pour dire qu'il n'y pas UNE solution mais DES solutions. Il faut juste trouvé la plus adapté a nos besoins.
    Je te prepare l'idée d'exporter la feuille de saisie dans un autre classeur.
    Avantage : Facile
    Inconvenient : Un fichier par client (mais on peut lister ces fichier dans une colonne et s'arranger pour y acceder d'un clic)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CommandButton1_Click() 'crer un classeur d'une feuille
    Dim Cld As Workbook, Cls As Workbook
    Dim Nom As String, Prenom As String
    'j'ai choisi d'enregistrer le fichier sous nom prenom.xls dans un dossier Devis sur le disque c:
        Nom = ActiveWorkbook.ActiveSheet.Range("a1").Value
        Prenom = ActiveWorkbook.ActiveSheet.Range("b1").Value
    'je copie la feuille source
       ActiveWorkbook.ActiveSheet.Copy
            ActiveWorkbook.SaveAs Filename:="c:\devis\" & Nom & " " & Prenom & ".xls" _
            , FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
           'rompre les liens
            ActiveWorkbook.BreakLink Name:="c:\sources\devis.xls", Type:=xlExcelLinks
     
        ActiveWorkbook.Close True
    'on peut ensuite refermer le classeur d'origine sans modifications pour le retrouver vierge la prochaine fois
    End Sub
    Tu as mis le pied dans un nid de fourmi et la boite à idée est en route.

Discussions similaires

  1. Desactiver les fonctions de routage d'une box
    Par shinji78 dans le forum Hardware
    Réponses: 3
    Dernier message: 20/06/2007, 15h51
  2. [SQL] comment "desactiver" une fonction php dans une page?
    Par horas dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/05/2007, 15h04
  3. Cherche liens fonctions javascript
    Par schnito dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/12/2006, 16h07
  4. Problème onclick/lien/fonction avec IE
    Par kankrelune dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/06/2006, 17h46
  5. Desactiver Lien html
    Par franck.automaticien dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/06/2006, 13h51

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