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 automatique Références [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 36
    Par défaut Modification automatique Références
    Bonjour à tous,

    Je me retrouve face à un problème à 2 étapes et même avec les sujets suivants je n'ai pas réussi à trouver une réponse fonctionnelle à mon soucis :

    http://www.developpez.net/forums/d18...ue-references/

    http://www.developpez.net/forums/d79...eference-code/

    http://www.developpez.net/forums/d17...ent-reference/

    http://www.developpez.net/forums/d13...reference-vba/

    http://www.developpez.net/forums/d57...nce-manquante/

    La 1ère étape que je souhaiterais réaliser est de supprimer automatiquement les références manquantes de mon classeur selon le pc utilisé.

    j'ai aussi essayé ça mais sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub supp_ref()
    Dim r As Object
    With ThisWorkbook.VBProject
        For Each r In .References
            If r.Description Like "*MANQUANT*" Then .References.Remove .References(r.Name): Exit For
        Next r
    End With
    End Sub
    Je tombe sur le message "Erreur de chargement de la DLL".

    Etape 2 : Pour les références manquantes, il faudrait que je puisse ajouter les bonnes versions de références si elles existent et sinon bin... tant pis elles sont supprimées Typiquement, j'utilise dans mon programme les références pour piloter Visio 2007 à partir d'Excel (références Microsoft Visio 12.0 Type library et Microsoft Visio 12.0 Drawing control type library). J'ai essayé de lancer la macro sur un Visio 2002 et bien sur ces références n'existent pas elles sont nommées Microsoft Visio 2002 Type library un truc du genre... et bien sur certains PC ne seront pas forcément équipés de Visio et je devrais mettre un message bloquant à l'utilisateur dans ce cas.

    Est ce que quelqu'un aurait une idée de comment procéder ?

    Merci d'avance pour ceux qui prendront le temps de se pencher sur mon problème.

    P.S : le but final est de pouvoir faire tourner les macros pour "toutes" les versions Excel et Visio (on va dire au moins de 2003 à aujourd'hui, et pourquoi pas plus si affinité )

  2. #2
    Invité
    Invité(e)
    Par défaut
    Pourquoi ne pas coder en 'late binding' du coup si le parc est très diversifié ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 36
    Par défaut
    C'est ce que j'ai fais justement. au début mes programmes étaient éloborés en early binding mais une fois qu'ils étaient finalisés je les passait en late binding. mais par rapport aux références ca ne change rien si ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ba si il n'y a plus besoin des références.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 36
    Par défaut
    je sais pourquoi actuellement j'ai toujours besoin des références, c'est que j'ai un programme principal créant et plaçant les formes, et des programmes secondaires pour dimensionner les feuilles, les formes etc... du coups dans la fonction j'appelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function BackPage(app_visio As Visio.Application, vsoPage1 As Visio.Page)
    par exemple... après il y a peut etre un moyen d'y remédier

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne connais pas Visio mais ça aurait plutôt cette forme:
    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
    17
    18
    19
    Option Explicit
     
    Sub Test()
     
      Dim appVisio As Object, vsoPage1 As Object
     
      Set appVisio = CreateObject("Visio.Application")
      Set vsoPage1 = appVisio.ActiveDocument.Pages
     
      Call BackPage(appVisio, vsoPage1)
     
      appVisio.Quit
      Set appVisio = Nothing
     
    End Sub
     
    Function BackPage(appVisio As Object, vsoPage1 As Object)
     
    End Function
    Dernière modification par Invité ; 21/10/2013 à 11h39.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [windev11]modification automatique des données
    Par nath-0-0 dans le forum WinDev
    Réponses: 6
    Dernier message: 03/06/2007, 20h02
  2. Réponses: 2
    Dernier message: 06/03/2007, 10h12
  3. Modification automatique d'un champ à la saisie
    Par Thomas_Laurent dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/01/2007, 14h40
  4. [Excel] modification automatique d'un mot
    Par tarmin dans le forum Excel
    Réponses: 2
    Dernier message: 11/09/2006, 13h25
  5. modification automatique de champs dans une requete
    Par toinish dans le forum Access
    Réponses: 2
    Dernier message: 27/04/2006, 16h43

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