Discussion:
Problèmes ATPVBAEN.XLAM
(trop ancien pour répondre)
r***@gmail.com
2018-01-31 22:19:29 UTC
Permalink
Bonjour,

Depuis un certain temps j'éprouve des difficultés avec ATPVBAEN.XLAM. Je ne sais si cela pourrait avoir un lien avec la version du fichier ou le chemin du fichier qui diffère d'une version à l'autre selon les ordinateurs.

Lorsque cela se produit ... je vais décocher la référence manquante dans le VBA qui est MANQUANT : ATPVBAEN.XLAM.

J'ai des usagers qui sont en Excel 2007, 2010, 2013 et 2016.

J'utilise 2016. Il semble que lorsque j'ai ouvert sur mon ordi le fichier et que je le retourne à l'usager (que certains usagers) que la situation se produit lorsque celui-ci l'ouvre sur son ordinateur.

Pourquoi cela ne se produit que dernièrement? Pourquoi cela se produit. Et comment pouvoir éviter cela? Merci à l'avance.

Lorsque l'usager est en Excel 2007 ou 2010 j'active les macros complémentaires Analysis Toolpak et Analysis Toolpak - VBA. Si l'usager est en 2013 ou 2016 ... alors seulement Analysis Toolpak est activé.

C'est que j'ai déjà eu la recommandation de désactiver Analysis Toolpak - VBA si on est en 2013 ou 2016.

Pourrait-il en être la raison? Par exemple je reçois un fichier dont l'utilisateur cette macro était activée et que moi je l'ouvre ensuite et qu'elle n'est pas activée (VBA) et qu'alors lorsqu'il l'ouvre à nouveau ça fait ceci?

Comment bien gérer tout ceci? Merci à l'avance.
Michd
2018-02-01 01:54:08 UTC
Permalink
Bonjour,

La procédure suivante a été élaborée par Frédéric Sigonneau. Pour tester ce
type de procédure, il faudrait que j'aie un fichier dont l'une des
références du projetVBA du classeur est "Manquante". Je travaille
actuellement avec Excel 2016. Le chemin de la macro complémentaire sous
Excel 2016 est :
"C:\Program Files (x86)\Microsoft
Office\root\Office16\Library\Analysis\ATPVBAEN.XLAM"

Dans le Thisworkbook du fichier, copie la procédure suivante dans le
ThisWorkbook du projetVBA du classeur.

Elle n'a pas été testée.
'------------------------------------------------
Private Sub Workbook_Open()
Dim LesRefs As Object, i&, Msg$, Cpt&, Rep&, Mnq&, Chemin$, Nom$

Set LesRefs = ThisWorkbook.VBProject.References
For i = 1 To LesRefs.Count
With LesRefs(i)
If .IsBroken Then
Mnq = Mnq + 1: Chemin = .FullPath: Nom = .Name
LesRefs.Remove LesRefs.Item(.Name)
If Dir(Chemin) = "" Then
Msg = "La librairie " & Nom & " est manquante et le fichier"
& vbLf
Msg = Msg & "'" & Chemin & "'" & vbLf
Msg = Msg & "ne peut être trouvé pour l'installer."
MsgBox Msg, vbCritical
Cpt = Cpt + 1
Else
LesRefs.AddFromFile Chemin
Rep = Rep + 1
End If
End If
End With
Next i

If Mnq > 0 Then
If Cpt > 0 Then Msg = Cpt & " référence(s) toujours manquante(s)"
If Rep > 0 Then Msg = Msg & Rep & "référence(s) réinstallée(s)"
End If
End Sub
'------------------------------------------------

Tu as un article de Microsoft sur le sujet (en anglais) :
https://support.microsoft.com/en-gb/help/244167/writing-automation-clients-for-multiple-office-versions

N.B. Si tu as un fichier dont une référence est marquée "manquante", ne
décoche pas cette référence et publie le classeur en utilisant le site
"Cjoint.com". Tu peux effacer les données dans les feuilles si tu le
désires. Retourne-nous l'adresse obtenue ici.

MichD
r***@gmail.com
2018-02-01 14:41:55 UTC
Permalink
Parfait et merci.

Je serai assurément en mesure de vous revenir sous peu.
r***@gmail.com
2018-03-09 19:25:46 UTC
Permalink
Bonjour,

J'ai testé le code et ... cela n'a malheureusement pas fonctionné.

Mais ... lorsque le fichier était ouvert je suis aller dans le Private Sub Workbook_Open() et j'ai lancé l'exécution.

La macro a arrêté sur "& vbLf".

Aussi ... il arrive que lorsque je vais manuellement décocher la case ATPVBAEN .. qu'il est inscrit MANQUANT ... et qu'à d'autres occasions il n'y a aucune mention MANQUANT ... la case est cochée comme si tout était OK. Je décoche tout de même la case et je ferme avec enregistrement ... ensuite le problème est réglé.

Je suis aussi aller lire ce qui est écrit à ce propos en cliquant sur le line que vous avez inscrit ... je comprend en gros ... mais je ne sais pas comment appliquer ceci. Late Binding?? Quoi aller cocher ou sélectionner ou écrire comme code???

Peut-être qu'il ne s'agirait que d'apporter un ajustement au code que vous m'aviez procurer? Un grand merci à l'avance.
Michd
2018-03-09 20:23:17 UTC
Permalink
Ce message pourrait être inapproprié. Cliquez pour l'afficher.
r***@gmail.com
2018-05-19 01:20:10 UTC
Permalink
Ce message pourrait être inapproprié. Cliquez pour l'afficher.
Michd
2018-05-20 19:58:21 UTC
Permalink
Bonjour,

Dans le Thisworkbook de ton classeur, place cette procédure.
Attention, ce code est adapté pour Office 16.
Pour charger la macro complémentaire, le chemin est
probablement différent selon la version de Microsoft Office.

Seule la version 2016 est installée sur mon ordinateur. Tu dois
compléter le code. Pour ce faire, tu devras trouver pour chacune
des versions, le chemin et l'indiquer dans la procédure.

'-----------------------------------------------------------------
Private Sub Workbook_Open()
Dim Ver As Long

On Error Resume Next
''******Cette section coche les 2 macros compléments
'dans Fichiers/Options/Compléments
'J'ai mis français/anglais selon les versions ???
With Application
.AddIns("Utilitaire d'analyse").Installed = True
.AddIns("Utilitaire d'analyse - vba").Installed = True
.AddIns("Analysis Toolpak").Installed = True
.AddIns("Analysis Toolpak - VBA").Installed = True
End With

'*******Cette section charge la référence atpvbaen.xls
'*******Le chemin de la macro complémentaire est peut-être
'*******différent selon la version de Microsoft Office

Ver = Val(Application.Version)
Select Case Ver
Case Is = 16
Ver = "office" & CLng(Application.Version)
ThisWorkbook.VBProject.References.AddFromFile ("C:\Program Files (x86)\" & _
"Microsoft Office\Root\" & Ver & "\Library\Analysis\ATPVBAEN.XLAM")
Case Is = 16
'même code que précédemment mais on adapte le chemin
'Chemim pour chacune des version
Case Is = 15

Case Is = 14

End Select

End Sub
'-----------------------------------------------------------------

MichD

Continuer la lecture sur narkive:
Loading...