Problèmes ATPVBAEN.XLAM

Le
rmillerlcxl
Bonjour,

Depuis un certain temps j'éprouve des difficultés avec ATPVBAEN.X=
LAM. Je ne sais si cela pourrait avoir un lien avec la version du fichier o=
u 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 ma=
nquante 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 e=
t que je le retourne à l'usager (que certains usagers) que la situatio=
n 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ém=
entaires Analysis Toolpak et Analysis Toolpak - VBA. Si l'usager est en 201=
3 ou 2016 alors seulement Analysis Toolpak est activé.

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

Pourrait-il en être la raison? Par exemple je reçois un fichier d=
ont 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'ou=
vre à nouveau ça fait ceci?

Comment bien gérer tout ceci? Merci à l'avance.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michd
Le #26462711
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
OfficerootOffice16LibraryAnalysisATPVBAEN.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
rmillerlcxl
Le #26462799
Parfait et merci.
Je serai assurément en mesure de vous revenir sous peu.
rmillerlcxl
Le #26466852
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 e nregistrement ... 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 s ais 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
Le #26466856
Cette section représente 3 lignes de code.
Msg = "La librairie " & Nom & " est manquante et le fichier" & vbCrLf
Msg = Msg & "'" & Chemin & "'" & vbCrLf
Msg = Msg & "ne peut être trouvé pour l'installer."
Le service de messagerie peut avoir coupé la ligne de manière inopportune.
Si c'est le cas, il faut replacer le tout.
MichD
Publicité
Poster une réponse
Anonyme