Excel partagé et fonction VBA ?

Le
mennetrier
Bonjour,

Sous excel 2003, pour réduire la taille d'un classeur partagé sur le
réseau, j'ai crée des fonctions VBA à la place de formules longues
répétées des milliers de fois. Exemple :

=DocAbb(C522) à la place de =IF(C522="";"";VLOOKUP(C522;lists!$N$3:=
$Q
$1182;2;0))

Avec la fonction:
Function DocAbb(CellRef)
If CellRef.Value = "" Then
DocAbb = ""
Else
DocAbb = Application.VLookup(CellRef.Value, Range("lists!
N3:R55"), 2, 0)
End If
End Function

Cela fonctionne nickel sur mon poste et en multipliant cela sur une
15zaine de colonnes, j'arrive à réduire le fichier de 8Mb à 1,4Mb !
Mais voilà, une fois le fichier sur le réseau en mode partagé, cela
fonctionne pour l'utilisateur 1, mais cela ne fonctionne pas pour
l'utilisateur 2 qui a dans les cellules avec l'appel à mes fonctions
une erreur NAME?
Si l'utilisateur 2 re-ouvre le fichier, il a même une erreur VBA avec
le pop-up "Automation error" et une boucle infinie qui se crée car
impossible de fermer VBA editor ou excel. Le pop-up revient sans arrêt
et il faut tuer excel par la manière forte !

Je ne sais vraiment pas comment investiguer ce problème. Les idées
sont donc bienvenues et les témoignages de fichiers partagées avec du
VBA seraient bienvenus aussi pour être sûr de la faisabilité.

Merci par avance.
Cordialement,
Samuel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FabriceR
Le #16494911
Bonjour,

C'est juste une hypothese mais la macro n'est peut etre tout simplement pas
enregistrée dans le classeur concernée.




Bonjour,

Sous excel 2003, pour réduire la taille d'un classeur partagé sur le
réseau, j'ai crée des fonctions VBA à la place de formules longues
répétées des milliers de fois. Exemple :

=DocAbb(C522) à la place de =IF(C522="";"";VLOOKUP(C522;lists!$N$3:$Q
$1182;2;0))

Avec la fonction:
Function DocAbb(CellRef)
If CellRef.Value = "" Then
DocAbb = ""
Else
DocAbb = Application.VLookup(CellRef.Value, Range("lists!
N3:R55"), 2, 0)
End If
End Function

Cela fonctionne nickel sur mon poste et en multipliant cela sur une
15zaine de colonnes, j'arrive à réduire le fichier de 8Mb à 1,4Mb !
Mais voilà, une fois le fichier sur le réseau en mode partagé, cela
fonctionne pour l'utilisateur 1, mais cela ne fonctionne pas pour
l'utilisateur 2 qui a dans les cellules avec l'appel à mes fonctions
une erreur NAME?
Si l'utilisateur 2 re-ouvre le fichier, il a même une erreur VBA avec
le pop-up "Automation error" et une boucle infinie qui se crée car
impossible de fermer VBA editor ou excel. Le pop-up revient sans arrêt
et il faut tuer excel par la manière forte !

Je ne sais vraiment pas comment investiguer ce problème. Les idées
sont donc bienvenues et les témoignages de fichiers partagées avec du
VBA seraient bienvenus aussi pour être sûr de la faisabilité.

Merci par avance.
Cordialement,
Samuel
SamyTerje
Le #16494871
Merci Fabrice, mais elles sont bien dans le même classeur !
D'ailleurs, j'ai trouvé cette explication ( http://dj.joss.free.fr/reso.h tm
) très compliquée de Laurent Longre. Je m'en vais essayer même si cel a
me parait bien compliqué !

Je vous tiens au courant.
Samuel

Bonjour,

C'est juste une hypothese mais la macro n'est peut etre tout simplement p as
enregistrée dans le classeur concernée.



SamyTerje
Le #16495791
Avec l'explication de Laurent Longre, cela fonctionne et mon classeur
partagé connait maintenant mes fonctions VBA pour tous les
utilisateurs !
Merci Laurent encore une fois mais il faut ajouter quand même à la FAQ
que cela marche qu'avec la sécurité des macros à Medium. Au dessus,
cela ne fonctionne pas.

Malheureusement, je suis maintenant sur une autre erreur... Grrrr !
Certaines de mes fonctions me renvoient un code #VALUE! mais pas
toutes alors qu'elles sont très semblables. Le plus rageant, c'est
qu'un simple clique dans la cellule et ENTER valide la fonction et le
résultat est calculé !!! Je suis sûr que vous avez une solution, non ?

Merci d'avance.
Cordialement,
Samuel


On Aug 7, 1:02 pm, SamyTerje
Merci Fabrice, mais elles sont bien dans le même classeur !
D'ailleurs, j'ai trouvé cette explication (http://dj.joss.free.fr/reso. htm
) très compliquée de Laurent Longre. Je m'en vais essayer même si c ela
me parait bien compliqué !

Je vous tiens au courant.
Samuel


Publicité
Poster une réponse
Anonyme