ASTUCES POUR EXCEL.

Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
- - Dernière réponse : medjahedScript
Messages postés
14
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
7 mars 2011
- 7 mars 2011 à 17:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48707-astuces-pour-excel

us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7 -
Bonjour,

Disons que ce genre de code :
Private Declare Function GetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

n'est pas vraiment du VB"A", mais du VB.

Amicalement,
Us.
mimiZanzan
Messages postés
301
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
17 décembre 2017
-
Je ne voudrais pas ergoter, mais la fonction dont tu parles, us_30, est tout simplement une fonction API, applicable aussi bien au VB qu'au VBA (entre autres)...
Sinon, le code de piloulac est plutôt sympa et utile à ceux qui ne connaissaient pas encore ces astuces Excel.
xyface
Messages postés
8
Date d'inscription
samedi 18 octobre 2008
Statut
Membre
Dernière intervention
4 janvier 2009
-
bonjour
je travaille sur une application pour un jeu en ligne: ikariam

je me rejouissait de pouvoir intégrer ce code dans mon travail pour l'ameliorer pour les gars de mon alliance

mais je travaille sous open office et les codes proposés ne fonctionnent sous le calculateur d'open office

y aurait il moyen d'avoir une adaptation du code pour open office?

ou conseils et ou liens

merci d'avance
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7 -
Bonjour,

"applicable aussi bien au VB qu'au VBA"
C'est exactement ce que je dis : "n'est pas vraiment du VB"A", mais du VB." Donc, ce n'est pas spécifiquement du VBA... mais cela n'est pas grande importance, l'intérêt est là. C'était aussi l'occassion de mettre une note... -:);

Amicalement,
Us.
bigfish_le vrai
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8 -
Bonjour,

C'est pas mal, cela a au moins le merite de regrouper plusieurs astuces pas toujours faciles a trouver.

Mais...

je ne suis pas d'accord sur la façon de desactiver les combinaisons de touches Alt+F1, Ctrl+PgUp ou Ctrl+PgDn. Il existe une methode qui simplifie le code et fonctionne avec n'importe quelle combinaison de touches. Ce qui est encore plus etrange c'est que tu as utilisé cette methode dans d'autre cas alors pourquoi pas pour ceux-ci ?

Sub DesactiverCombiTouche()
Application.OnKey "%{F1}", "MessageDeLimitation"
Application.OnKey "^{PGUP}", "MessageDeLimitation"
Application.OnKey "^{PGDN}", "MessageDeLimitation"
End Sub
Sub RetablirCombiTouche()
Application.OnKey "%{F1}"
Application.OnKey "^{PGUP}"
Application.OnKey "^{PGDN}"
End Sub
Sub MessageDeLimitation()
MsgBox "Vos droits sur ce fichier ne vous permettent pas d'acceder à ces fonctions !", vbExclamation
End Sub

Je ne suis pas non plus d'accord avec la methode qui consiste a virer la croix du userform c'est bien compliqué pour pas grand chose. En effet il existe un evenement sur la form qui permet de detecter l'utilisation de la croix et donc de la desactiver.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode 0 Then Cancel 1
End Sub

Pour plus d'info sur les limitations que l'on peut appliquer a excel tu peux aller jeter un oeil ici :
http://www.vbfrance.com/codes/AMELIORER-SECURITE-ACCES-DONNEES-CODE-FICHIER-EXCEL_48448.aspx

Autre chose: le fait de rendre invisible excel interdit l'ouverture d'un autre fichier excel c'est dommage pour l'utilisateur ! il existe une solution qui consiste a privatiser la session caché pour obliger excel a créer une autre session si l'utilisateur veut ouvrir un autre fichier par double clic(par exemple):

Sub cacher_Excel()
Application.IgnoreRemoteRequests = True
Application.Visible = False
End Sub
Sub montrer_Excel()
Application.IgnoreRemoteRequests = False
Application.Visible = True
End Sub

A+