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 :

Comment savoir quelle version d'un logiciel (AutoCAD) est installée


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 404
    Points : 206
    Points
    206
    Par défaut Comment savoir quelle version d'un logiciel (AutoCAD) est installée
    Bonjour à tous, et excellente année à vous.

    Je développe en ce moment une petite suite de commandes dans Word et Excel.

    J'ai, dans mes références VBA, un logiciel : AutoCAD 15.0 (2017). Seul petit problème, quelques-unes de ces commandes peuvent être utilisées par mes collègues, mais ils n'ont pas forcément la même version que moi.

    Donc, comment faire pour savoir quelle version d'AutoCAD est installée et comment charger la bonne librairie d'objets de leur version ?

    Denis...

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 356
    Points
    34 356
    Par défaut
    Salut,

    tu peux parcourir les differentes references de ton application comme dans le post suivant :
    http://www.developpez.net/forums/d17...ce/#post123952

  3. #3
    Membre actif Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 404
    Points : 206
    Points
    206
    Par défaut
    Bonjour Jean-Philippe, et merci pour cette réponse...

    J'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Sub GetReferences()
        Dim Ref As Reference
        For Each Ref In Application.References
            Debug.Print "Référence : " & Ref.Name & " - Version : " & Ref.Major & " - FullPath : " & Ref.FullPath
        Next Ref
    End Sub
    J'ai une jolie petite fenêtre avec :
    Erreur d'exécution '438' :
    Propriété ou méthode non gérée par cet objet
    "Reference" n'existe pas dans mon Excel... Et le reste du code est sacrément pointu... Y a-t-il une version "light" ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 356
    Points
    34 356
    Par défaut
    Cote Excel, tu atteints les memes objets a partir de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.VBProject.References
    Sauf erreur.

  5. #5
    Membre actif Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 404
    Points : 206
    Points
    206
    Par défaut
    Merci de m'aider...

    Donc, comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Dim Ref As ThisWorkbook.VBProject.References
        For Each Ref In ThisWorkbook.VBProject.References
            Debug.Print "Référence : " & Ref.Name & " - Version : " & Ref.Major & " - FullPath : " & Ref.FullPath
        Next Ref
    Car ça plante aussi...

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 356
    Points
    34 356
    Par défaut
    Ceci devrait fonctionner
    Pour les Addins
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro4()
    Dim a As AddIn
        For Each a In Application.AddIns
            Debug.Print "Référence : " & a.Name & " - FullPath : " & a.Path
        Next a
    End Sub
    pour les references
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub List_Available_References()
    Dim i As Long
    Debug.Print "Reference", "GUID", , , "Path"
     
    For i = 1 To ThisWorkbook.VBProject.References.Count
        With ThisWorkbook.VBProject.References(i)
            Debug.Print .Name, .GUID, .FullPath
        End With
    Next i
    End Sub
    Pense a choisir judicieusement le sous forum dans lequel tu postes, car un general VBA alors qu'en fait on fait du VBA Excel, ca fait perdre du temps a un peu tout le monde

  7. #7
    Invité
    Invité(e)
    Par défaut
    bonjour,
    enlève toute référence à Autocad dans ton projet!
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    sub test()
    dim AutoCadApp as Object
    set AutoCadApp=SetAutocad
    if TypeName(AutoCadApp)="Nothing" then  MsgBox "Plus de licence Autocad disponible", vbInformation, "  licence :"
    end sub
    Public Function SetAutocad() As Object
    On Error Resume Next
    Set SetAutocad = CreateObject("AutoCAD.Application")
    If Err = 0 Then
        SetAutocad.Visible = False
        Example_AutoAudit
        SetAutocad.Documents(0).Close False
        DoEvents
    Else
        Err.Clear
        Set SetAutocad = CreateObject("AutoCAD.AcadApplication.17")
        If Err = 0 Then
            SetAutocad.Visible = False
            Example_AutoAudit
            SetAutocad.Documents(0).Close False
            DoEvents
        Else
            Err.Clear
           set SetAutocad=Nothing
            MsgBox "Plus de licence Autocad disponible", vbInformation, "  licence :"
       End If
    End If
    End Function
    Dernière modification par Invité ; 19/01/2017 à 13h58.

  8. #8
    Membre actif Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 404
    Points : 206
    Points
    206
    Par défaut
    Salut 10 ortos gras fit,

    Ça fonctionne super, il ne me reste plus qu'à trouver la liste des versions d'AutoCAD...

    Encore merci à vous...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DenHen Voir le message
    Salut 10 ortos gras fit,
    bien vue

    Nom : Sans titre.png
Affichages : 2562
Taille : 44,2 Ko

    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
    20
    21
    Sub test()
    Dim AutoCadApp As Object
    Set AutoCadApp = SetAutocad
    If TypeName(AutoCadApp) = "Nothing" Then MsgBox "Plus de licence Autocad disponible", vbInformation, "  licence :"
    End Sub
    Public Function SetAutocad() As Object
    Dim Version, i As Integer
    On Error Resume Next
    Version = Array("", ".17", ".19")
    For i = 0 To UBound(Version)
        Set SetAutocad = CreateObject("AutoCAD.Application" & Version(i))
         If Err = 0 Then
            SetAutocad.Visible = False
            SetAutocad.Documents(0).Close False
            DoEvents
            Exit Function
        Else
            Err.Clear
        End If
    Next
    End Function
    Dernière modification par Invité ; 19/01/2017 à 15h52.

  10. #10
    Membre actif Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 404
    Points : 206
    Points
    206
    Par défaut
    Merci pour cette réponse, mais mon code est dans Excel...

    Est-ce que ?Application.Version fonctionnerait depuis Excel ?

    Il y a aussi l'option de regarder dans la base de registre... "HKEY_CURRENT_USER\Software\Autodesk\Autocad" "Curver"

    Merci encore...

  11. #11
    Invité
    Invité(e)
    Par défaut
    et...

    moi également, mais pour connaitre la version tu peux déroger non?

    quand tu auras collecté toutes les versions tu redéfiniras Version = Array("",".17",".18","".19",".20",".1592")'???????"

    CreateObject("AutoCAD.Application") Marche dans la plus par des cas

    si sur une machine ça ne marche pas vérifies la version sur cette machine comme montré!

  12. #12
    Membre actif Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 404
    Points : 206
    Points
    206
    Par défaut
    Effectivement, je suis en train de faire ce teste...

    Encore merci...

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/02/2013, 12h41
  2. [JRE] Comment savoir quelle version installée ?
    Par ZeKiD dans le forum Applets
    Réponses: 1
    Dernier message: 31/03/2009, 12h14
  3. Comment fonctionne les versions d'un logiciel?
    Par Antigonos Ier Gonatas dans le forum Windows
    Réponses: 12
    Dernier message: 14/07/2006, 18h48
  4. Comment savoir quelle fenêtre possède le focus ?
    Par WebPac dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 22/12/2005, 09h59
  5. Comment savoir quelle version d'MSXML IE utilise?
    Par trent94 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 17/07/2005, 18h38

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