Insertion de code à l'ouverture du classeur...

CyberNeo99

XLDnaute Occasionnel
Bonjour à tous,

J'aimerais pouvoir insérer ce type de code qui suit dans mon classeur à l'ouverture de celui-ci.

Car je test pour voir si la personne qui ouvre le classeur a Excel 2003 ou 2007 et +. Si cette personne a 2003 je veux qu'elle active une macro complémenatire mais le Pb lors de l'accès aux macros complémentaires il y a quelques personnes où les intitulés sont en Français et d'autres en anglais.

Voici le code :

Test

If Split(Application.Version, ".")(0) < 12 Then

Je veux qu'il utilise ce code si les intitulés sont en français

utilitaire = Application.AddIns("Utilitaire d'analyse").Installed
Application.AddIns("Utilitaire d'analyse").Installed = True

Ou celui-ci si les intitulés sont en anglais

utilitaire = Application.AddIns("Analysis ToolPak").Installed
Application.AddIns("Utilitaire d'analyse").Installed = True




Merci à l'avance de votre aide


Neo
 
Dernière édition:

CyberNeo99

XLDnaute Occasionnel
Re : Insertion de code à l'ouverture du classeur...

Bonjour à tous,

Par contre il y a une chose que je me demande avec ce code

Private Sub Workbook_Open()
ActiveWorkbook.RefreshAll
On error resume next
AddIns("Analysis ToolPak").Installed = True
AddIns("Utilitaire d'analyse").Installed = True
Calculate
End Sub

S'il y a d'autres lignes de codes avec la ligne

On error resume next

va-t-il passer à la ligne suivante avec tous les erreurs qu'il peut subvenir dans la macro c'est-à-dire avec toutes les lignes qui ce code jusqu'à la fin de la macro à End Sub.... ou alors cette ligne ne s'applique qu'à la ligne suivante du code....

Parce que si j'ai une autre erreur dans la macro il ne m'avisera pas si cette ligne de code s'applique à toutes les lignes qui suit le code jusqu'à la fin de la macro....


Merci à l'avance


Neo
 

Pierrot93

XLDnaute Barbatruc
Re : Insertion de code à l'ouverture du classeur...

Bonjour,

oui avec ce code il ne s'arrêtera pas sur les erreurs suivantes à moins de réinitialiser le gestionnaire d'erreur ainsi :
Code:
On error resume next
AddIns("Analysis ToolPak").Installed = True
AddIns("Utilitaire d'analyse").Installed = True
On Error Goto 0
bon après midi
@+
 

CyberNeo99

XLDnaute Occasionnel
Re : Insertion de code à l'ouverture du classeur...

Bonjour Pierrot93,


Le code

On Error Goto 0

j'imagine qu'il retourne au début de la macro.....

Si oui je voudrais juste qu'il passe à la ligne suivante s'il rencontre une erreur sur l'une de ces 2 lignes seulement... soit

AddIns("Analysis ToolPak").Installed = True
AddIns("Utilitaire d'analyse").Installed = True

Je veux juste qu'il passe à la ligne suivante s,il rencontre une erreur sur l'un de ces lignes.

L'autre possibilité que je pense est la suivante d'inclure une mini macro à l'intérieur de la macro d'ouverture du classeur, si cela est possible bien sûr.... avec ce code qui serait restraint à ces 2 lignes de code.

Sinon l'autre possibilité serait de créer une autre macro où il n'y aurait que ce code et que le On Error resume next ne reste que dans cette macro pour ce code.

Ce que je veux en fait à l'ouverture du classeur il active l'une de ces macros complémentaires et j'aurai toujours une erreur de code s'il ne passe pas par dessus l'erreur de code de l'une de ces 2 lignes car je ne peux avoir dans un même Excel l'intitulé de la macros en français et en anglais ce qui est parfaitement logique.

Ou encore je viens de penser de mettre le code

On Error resume Next

pour la ligne

AddIns("Analysis ToolPak").Installed = True

et qu'il s'arrête là

Et ensuit le mettre èa nouveau pour l'autre ligne

On Error resume Next

AddIns("Utilitaire d'analyse").Installed = True

et qu'il s'arrête là

ce qui ressemblerait à

On Error resume Next
AddIns("Analysis ToolPak").Installed = True


On Error resume Next
AddIns("Utilitaire d'analyse").Installed = True



Pas facile de contourner les idioties de Microsoft..... ;o))))


Merci encore



Neo
 
Dernière édition:

CyberNeo99

XLDnaute Occasionnel
Re : Insertion de code à l'ouverture du classeur...

Bonjour,

Encore moi

Je crois avoir trouver ma réponse. Le code On Error Goto 0 ne fait que désactivé l'erreur et il passe à la ligne suivante.

J'ai regardé sur le lien suivant

Ce lien n'existe plus

Il semble dire cela qu'il passe à la ligne suivante... Quelqu'un peut me confirmer...


J'ai mis le code suivant

ActiveWorkbook.RefreshAll
On Error Resume Next
AddIns("Utilitaire d'analyse").Installed = True
AddIns("Analysis ToolPak").Installed = True
On Error GoTo 0


Il semble être correct, pour moi je n'ai aucun message d'erreur et j'imagine que s'il y a une erreur sur les lignes qui suit le On Error Goto 0 il m'affichera qu'il y a une erreur... quelqu'un peut me confirmer....


Merci encore à l'avance


Neo
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Insertion de code à l'ouverture du classeur...

Bonjour,

Il semble être correct, pour moi je n'ai aucun message d'erreur et j'imagine que s'il y a une erreur sur les lignes qui suit le On Error Goto 0 il m'affichera qu'il y a une erreur... quelqu'un peut me confirmer....

tout à fait, tu as très bien compris...

bonne journée
@+
 

Discussions similaires

Réponses
6
Affichages
554

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 605
Membres
111 217
dernier inscrit
aladinkabeya2