Excel pas installé

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 10 nov. 2007 à 13:34
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 15 nov. 2007 à 04:01
bonjour
j'ai fait un programme ou j'envoi des données vers excel,la pas de probleme tous fonctionne.
mais comment faire pour afficher un méssage à l'ouverture du programme quand excel n'est pas installé sur le pc.
merci
petchy

7 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 nov. 2007 à 14:49
Essaie avec quelque chose comme ceci

Sub MaSub ()
    Dim xlApp As Object
   
    On Error GoTo Erreur
   
'Si Excel n'est pas installé, cette ligne va causer une erreur
'et le code se retrouvera à l'étiquette Erreur en bas
    Set xlApp = CreateObject("Excel.Application")
   
    '.... ton code
   
    xlApp.Quit
    Set xlApp = Nothing
   
    Exit Sub
Erreur:
    MsgBox Err.Number & vbCrLf & Err.Description
End Sub

Donc, en principe, si l'utilisateur n'a pas Excel, il devrait voir le message d'erreur et son numéro. Déjà, si tu fais le test, tu sauras quel numéro d'erreur apparaît. Tu pourras donc modifier la gestion d'erreur si nécessaire.
Erreur:
    If Err.Number = lenuméroquetuconnais then
       MsgBox "Ton message"...
       'Une action que tu veux faire, éventuellement, si Excel n'est pas installé
    Else
       MsgBox Err.Number & vbCrLf & Err.Description
    End If

MPi²
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 nov. 2007 à 14:05
Je ne peux pas vérifier/tester puisque j'ai Excel sur mes 2 PCs, mais tu pourrais faire une gestion d'erreur, j'imagine (?)

Si tu tentes de créer un objet Excel, ça devrait générer une erreur si Excel n'existe pas. Tu interceptes cette erreur et tu envoies ton message.

MPi²
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 nov. 2007 à 18:30
Bonjour,

Oui, MPi...

J'ajouterais bien volontiers (car il semble s'agir d'une application "pilotant" Excel) qu'il aura intérêt à vérifier la version d'Excel (syntaxes pouvant être différentes entre l'une et l'autre... et certains (comme bibi)... peuvent avoir une très vieille version sur leur machine. D'autres, au contraire, pourront avoir une version "dernier cri" et... quelquefois récalcitrante à certaines petites choses...). Ah... les joies du pilotage ...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 nov. 2007 à 18:36
Re...

On peut toujours commencer par "zieuter" dans la base de registre, ici :
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Excel

Mais il vaudra mieux aller plus loin (N0 de version)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
11 nov. 2007 à 07:58
bonjour à vous
ho la ça devient un peu compliqué tous ça,en plus si il faut "zieuter" dans la base de registre,je crois que je vais laisser comme ça.
merci encore
bon dimanche
petchy
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 nov. 2007 à 14:54
J'oubliais de mentionner qu'il est préférable d'utiliser Object et CreateObject, plutôt que de cocher une référence et utiliser New Excel.Application

Avec CreateObject, déjà tu élimineras les problèmes de versions.
Il devrait rester comme problème seulement la présence ou non d'Excel.
Dans tel cas, je pense que le numéro d'erreur sera 429.

MPi²
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
15 nov. 2007 à 04:01
salut
impeccable pour ton code
merci
petchy
0
Rejoignez-nous