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 :

Ajouter Macro Complémentaire ATPVBaen en Excel 2010


Sujet :

Macros et VBA Excel

  1. #1
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut Ajouter Macro Complémentaire ATPVBaen en Excel 2010
    Bonjour,

    Je viens de passer de la version Excel 2003 à Excel 2010 et je recontre un problème dans l'utilisation de mes macros.
    J'ai un problème notamment avec la fonction Networkdays qui ne fonctionne pas sur 2010; Il manque la référence . Comment ajouter la référence ATPVBaen.xla avec Excel 2010 ? Je ne la trouve pas dans la liste des références ...

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Elle figure dans les références sur mon ordi, mais elle ne sert pas. La fonction "NetworkDays" étant maintenant une fonction intégrée Excel, il faut coder :
    "Application.NetworkDays" au lieu de "NetworkDays".

  3. #3
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    Merci pour cette info.
    Par contre ça n'arrange pas mes affaires....
    Je cherche à faire une macro ( utilisant networkdays) qui soit compatible avec les 2 versions.
    Dans la version Excel 2003 ( sous XP ) , j'arrive à faire un test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ....
     If Application.Version = "11.0" Then
             NB_Jour_O_AF = Networkdays(Param1, Param2, Plage_Fériés)
         Else
             NB_Jour_O_AF = Application.Networkdays(Param1, Param2, Plage_Fériés)
       End If
    par contre le même code sous Excel 2010 , Windows Seven ,en mode de compatibilité , plante ... -> le système me dit qu'il manque la référence ATPVBaen et indique une erreur pour Networkdays

    Je pense que je peux abandonner l'idée d'un code compatible au 2 versions.




    ( Je précise que le problème ne vient pas des paramétres , la fonction marche si je développe 2 versions de code distinctes.)

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Ce qui est bizarre, c'est que j'ai cette référence, mais j'ai XL2003 et XL2010 sur le même poste... Un contournement possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     If Application.Version = "11.0" Then
             NB_Jour_O_AF = NWD(Param1, Param2, Plage_Fériés)
         Else
             NB_Jour_O_AF = Application.NetworkDays(Param1, Param2, Plage_Fériés)
       End If
    End Sub
    Function NWD(Param1, Param2, Plage_Fériés)
        NWD = NetworkDays(Param1, Param2, Plage_Fériés)
    End Function

  5. #5
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    Merci beaucoup , ça résoud mon problème.

  6. #6
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    J'ai répondu un peu trop vite .

    ça ne marche pas car en Excel 2010 , mode de compatibilité, il y a une vérification de l'ensemble du code et il plante en analysant la fonction NWD ( même si on ne rentre jamais dans la fonction car le test de la version permet d'éviter ).

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Je me suis mis en mode compatibilité et je ne constate pas ce problème ?

    Tu pourrais peut-être exécuter cette macro pour les classeurs XL2003 dans une autre macro :

    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
    Sub TestReferences()
        Dim Teste As Boolean
        On Error Resume Next
        Dim i As Long
        Set Var = ThisWorkbook.VBProject.References(1)
        For i = 1 To ThisWorkbook.VBProject.References.Count
            If ThisWorkbook.VBProject.References(i).FullPath = _
                "C:\Program Files (x86)\Microsoft Office\OFFICE11\Bibliothèque\Analyse\ATPVBAEN.XLA" Then
                Teste = True
                Exit For
            End If
        Next i
        If Teste = False Then
            ActiveWorkbook.VBProject.References.AddFromFile "C:\Program Files (x86)\Microsoft Office\OFFICE11\Bibliothèque\Analyse\ATPVBAEN.XLA"
        End If
        On Error GoTo 0
    End Sub
    en modifiant le chemin. Tu dois auparavant, sur chaque poste, vérifier que dans Outils/Macro/Sécurité, onglet "Editeurs approuvés", la case "Faire confiance au projet Visual Basic" est bien cochée (pas possible de la cocher par VBA !).

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

Discussions similaires

  1. [XL-2013] probleme macro suite passage de excel 2010 a 2013
    Par salluste dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 17/12/2014, 11h33
  2. comment je peux ajouter le controle winsock sur excel 2010
    Par Aymenhad dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/09/2013, 11h04
  3. [XL-2010] Macro fonctionne pas sous excel 2010 ?
    Par mlafleur74 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/05/2012, 10h16
  4. ajout macro complémentaire dans menu
    Par spidtrip dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 06/07/2010, 15h12
  5. [Macro]complémentaire excel 2007
    Par jawed dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/05/2007, 13h57

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