cs_jonathanm44
Messages postés13Date d'inscriptionjeudi 10 mars 2011StatutMembreDernière intervention28 février 2012
-
10 mai 2011 à 15:07
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
4 oct. 2011 à 17:36
Bonjour à tout le forum,
Voila, je suis devant un problème et j'en appel à votre sagesse :
J'ai un fichier excel ABC en lien avec un fichier excel publier en html. Lorsque j'ouvre mon fichier html (avec internet explorer) et que je clique sur le lien cela ouvre mon fichier excel ABC avec internet explorer (jusque la tout va bien).
Je voulais savoir si l'on pouvais par macro détecter le type de programme à l'ouverture (soit internet explorer soit excel) pour par exemple qu'il me cache les onglets quand le fichier excel ABC est ouvert avec internet explorer et qu'il me les affiches quand j'ouvre mon fichier ABC avec Excel
cs_jonathanm44
Messages postés13Date d'inscriptionjeudi 10 mars 2011StatutMembreDernière intervention28 février 2012 11 mai 2011 à 09:04
Re,
Bon j'ai recherché mais la je piétine !!!
J'ai un problème de syntaxe avec "Application.Name" je ne sait pas comment faire.
Voici le code :
Private Sub Workbook_Open()
If Application.Name = InternetExplorer Then
With Application
.DisplayFullScreen = True
.DisplayFormulaBar = False
.DisplayStatusBar = False
.DisplayWorkbookTabs = False
End With
Else
End If
End Sub
cs_jonathanm44
Messages postés13Date d'inscriptionjeudi 10 mars 2011StatutMembreDernière intervention28 février 2012 11 mai 2011 à 13:49
Bonjour MathieuAP,
Le problème est que le fichier Excel est ouvert soit par internet explorer soit par excel donc l'extension sera toujour de la ".xls".
Merci quand même de ton aide
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 11 mai 2011 à 14:45
Bonjour, jonathanm44
1) Es-tu conscient de ce que la propriété .Name d'un objet (et Application en est un) est de type String ? (c'est donc une chaîne de caractères, et elle s'exprime entre guillemets !)
2) je te conseille d'utiliser, avec cette propriété, une msgbox pour afficher, dans un cas et dans l'autre, la propriété Name de Application. Cela te permettra d'en conna^tre le nom exact
Bonne continuation.
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 20121 11 mai 2011 à 14:55
Bonjour,
Juste une petite remarque...
Dans ton if, tu compare Application.Name avec Internet explorer...
1er point : je ne suis pas sur que l'application.name renvoyé soit internet explorer, selon moi se serait plutot iexplorer.exe (je n'ai pas fait le test donc je m'avance pas trop)
2eme point : ta chaine de comparaison devrait peut être se trouvé entre ""
cs_jonathanm44
Messages postés13Date d'inscriptionjeudi 10 mars 2011StatutMembreDernière intervention28 février 2012 11 mai 2011 à 15:51
Bonjour a vous,
Alors après des plusieurs recherche j'obtien le code suivant :
If Application.Name <> "Microsoft Excel" Then
Application.ActiveWindow.DisplayWorkbookTabs = False
End If
Alors, cela ne marche pas en grande majorité (car cela à marcher pendant 2 ou 3 essais de suite mais après ca ne fonctionne plus ou cela marche sur le premier onglet ouvert mais pas les autres)
Le faite de faire apparaitre "Internet Explorer" ou "IExplorer.exe" est la même chose selon les recherches que j'ai effectué.
Je pense que je vais procéder de manière differente :
Création d'un fichier ABC qui une fois rempli va céer (par macro) un autre fichier qui servira uniquement à la visualisation du fichier ABC sans permettre aucune modification.
Je vous remercie pour l'aide que vous m'avez apporté.
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 4 oct. 2011 à 17:36
Salut,
avec du retard:
Function CheckContainer() As String
Dim ContainerName As String
ContainerName = vbNullString
On Error Resume Next
ContainerName = ThisWorkbook.Container.Name
CheckContainer = ContainerName
On Error GoTo 0
End Function
Attention ne fonctionne pas depuis l'evenement "WorkBook_Open" car à ce niveau l'objet Container est encore vide.
notez que l'une des propriétés du container est ".hwnd" qui renvoi le "handle" du container