Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1292 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Créer un raccourci vers une macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] Créer un raccourci vers une macro

n°1110147
wice
Posté le 06-06-2005 à 18:40:14  profilanswer
 

Salut,
 
comme l'indique le titre, je souhaiterai créer un raccourci vers une macro Excel.
 
Il n'y a pas de bouton sur la feuille Excel, ca evitera aux usagers d'avoir a ouvrir le module VBA, de sélectionner la bonne feuille et de la lancer.
 
Mon idée serait de creer une icone sur le bureau et de lancer la bonne macro (et le fichier Excel en meme temps) lorsque l'on clique sur l'icone.
 
De plus, j'ai un autre probleme (tout bete), je voudrai verrouiller  le contenu des combobox car lorsque l'on clique dessus, on peut modifier le titre de la comboBox par defaut.
 
J'espere que vous m'aurez compris.
 
Merci pour vos réponses.

mood
Publicité
Posté le 06-06-2005 à 18:40:14  profilanswer
 

n°1110286
scuny
Posté le 06-06-2005 à 20:48:57  profilanswer
 

dans la fonction open de this woorbok tu appelles ta macro
 
et toujours dans this workbook /open tu rajoutes:
  For Each sht In ActiveWorkbook.Worksheets
    With sht
      .Select
      .Protect password:="Celui_que_tu_veux", UserInterfaceOnly:=True
    End With
  Next
 
cela verouille toutes modif non éffectué par le programme
mais ne vérouille pas le projet ==> sans danger

n°1113120
wice
Posté le 08-06-2005 à 19:42:52  profilanswer
 

Merci pour la réponse ca marche niquel.
 
Je voudrais verrouiller aussi l'acces au code (outil->macro->VBA), j'ai vu qu'on pouvait le faire mais je ne sais pas comment   :??:
 
Depuis une macro,j'appelle une fonction qui m'ouvre un autre fichier Excel situé dans le meme dossier, je voudrais savoir s'il existe comme en Vb un objet permettant de connaitre le chemin d'acces (en vb c'est app.path je crois) afin que je ne rajoute que \monfichieraouvrir.xls
 
Merci


Message édité par wice le 08-06-2005 à 19:55:28
n°1113218
scuny
Posté le 08-06-2005 à 21:18:07  profilanswer
 

attention si tu verouilles ton projet tu ne pourras plus sauvegarder les données ecrites.
sinon dans l'editeur vb outils/propriétés projet
 
je ne connais pas la réponse a ta 2ieme reponses
 
fait un tour sur le site disciplus simplex
c'est une mine d'or

n°1113232
wice
Posté le 08-06-2005 à 21:38:59  profilanswer
 

en fait c est juste verrouiller l'acces au vba, pas le projet

n°1113524
scuny
Posté le 09-06-2005 à 07:44:00  profilanswer
 

bon ben tu peux copier coller ce qui suis dans un module que tu appelles au démarrage
/|\ attention prévois le déblocage car tu n'auras plus de barre de menu dans TOUTES instances excel
 
Sub securite()
 
Dim CmdB As CommandBar
Application.ScreenUpdating = False
 
On Error Resume Next
Application.DisplayFormulaBar = False
 
     
   
  On Error Resume Next
  For Each sht In ActiveWorkbook.Worksheets
    With sht
      .Select
      .Protect password:="LeTiens", UserInterfaceOnly:=True
    End With
  Next
 
 
  For Each CmdB In Application.CommandBars
    CmdB.Enabled = False
  Next CmdB
  Application.ScreenUpdating = True
end sub

n°1116887
AlainTech
Pas trouvé? Cherche encore!
Posté le 11-06-2005 à 22:28:13  profilanswer
 

Pour le chemin du classeur courant:

ActiveWorkbook.Path


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1117649
wice
Posté le 12-06-2005 à 22:32:55  profilanswer
 

Merci pour les tuyaux.
 
Par contre j'ai un pb, lorsque j'active ce code dans le workbook
For Each sht In ActiveWorkbook.Worksheets
    With sht
      .Select
      .Protect password:="Celui_que_tu_veux", UserInterfaceOnly:=True
    End With
  Next  
 
je peux bien debloquer la premiere feuille avec mon mot de passe, par contre pour les autres, le mot de passe ne fonctionne pas. Je ne sais pas pourquoi.
Avez vous une réponse ?

n°1117810
scuny
Posté le 13-06-2005 à 07:48:15  profilanswer
 

essaie un deblocage par macro
 
.unprotect password:="Celui_Que_Tu_Veux"
 
 
mais je n'ai jamais vu ton pb.

n°1117813
wice
Posté le 13-06-2005 à 07:54:48  profilanswer
 

ok je vais tester.
par contre pour cette ligne:
.Protect password:="Celui_que_tu_veux", UserInterfaceOnly:=True  
 
la partie "UserInterfaceOnly" est en minuscule, on dirait qu'Excel 97 ne me le prend pas.
Qu'elle doit etre le but de cette instruction?
Si c'est de consulter les feuilles Excel alors ca fonctionne, on peut les sélectionner.

mood
Publicité
Posté le 13-06-2005 à 07:54:48  profilanswer
 

n°1118546
AlainTech
Pas trouvé? Cherche encore!
Posté le 13-06-2005 à 16:47:49  profilanswer
 

Citation :

UserInterfaceOnly
Optional Variant. True to protect the user interface, but not macros. If this argument is omitted, protection applies both to macros and to the user interface.


Aussi bien sous Office 97 que les suivants.
 
Pour enlever la protection, c'est la méthode Unprotect(password)


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1119953
wice
Posté le 14-06-2005 à 19:51:43  profilanswer
 

merci, j'ai finalement réussi a enlever la protection.
 
Par contre j'arrive pas à verrouiller le texte des ComboBox.
Je m'explique, si je mets combo1.text="yes", lors de l'execution de la feuille vba, on peut modifier yes en cliquant non pas sur la petite fleche a droite mais en cliquant sur la combobox directement.
J'aimerais verrouiller ca et ne permettre juste a l'utilisateur de dérouler la liste.
 
je voudrais aussi passer d'un label a un bouton appuyant sur  
'Entrée' , je ne me souviens plus exactement comment il faut faire (keypress je crois).
 
D'autres part, j'utilise cette instruction activewindow.close mais j'aimerais eviter le message de sauvegarde (Voulez vous sauvegarder ...) en forcant une sauvegarde.
 
Voila, j'espere que vous pourrez me venir en aide

n°1120019
scuny
Posté le 14-06-2005 à 20:47:08  profilanswer
 

1/ pour la sauvegarde auto
==> ActiveWorkbook.Save dans this workbook / before close
2/ pour ta combo, si tu ne veux pas de modif utilise une listbox
 
3/ je n'ai pas compris ce que tu veux faire avec ton label.

n°1120027
wice
Posté le 14-06-2005 à 20:56:35  profilanswer
 

en fait je voudrais que lorsqu'un utilisateur saisisse un mot dans la textBox (je me suis trompé), et qu il appuie sur la touche entrée, cela lance une procédure.

n°1120111
AlainTech
Pas trouvé? Cherche encore!
Posté le 14-06-2005 à 22:46:30  profilanswer
 

La propriété "Default" de ton bouton (qui lance la macro) doit être à True.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1120117
AlainTech
Pas trouvé? Cherche encore!
Posté le 14-06-2005 à 22:50:12  profilanswer
 

Pour la Combo, il existe une proriété "MatchRequired" qui empêche de mettre un texte autre qu'une entrée de la liste.
 
A tester.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1121466
wice
Posté le 16-06-2005 à 08:02:18  profilanswer
 

merci AlainTech et scuny pour vos tuyaux ca marche niquel.
Si on a deja un fichier Excel d'ouvert, peut on ouvrir mon fichier Excel contenant mes macros dans un nouveau Excel ou bien on est obligé de l'ouvrir dans le meme Excel, car l'execution des macros bloque Excel, on ne peut pas acceder aux autres fichiers (on peut pas cliquer sur Fenetre puis sélectionner le fichier).

n°1122429
scuny
Posté le 16-06-2005 à 19:16:55  profilanswer
 

tu utiliseras toujours une et une seule instance d'excel.
donc si excel est déja ouvert, ton fichier se lancera et les macros qu'il contient seront lancés, et s'appliqueront a l'instance  (xfichiers)  a toi de tester pour voir si cela ne pose pas de pb

n°1122533
AlainTech
Pas trouvé? Cherche encore!
Posté le 16-06-2005 à 21:26:47  profilanswer
 

J'ouvre régulièrement plusieurs instances d'Excel.
Au boulot, j'ai écrit une appli qui est dans un form modal (Excel 97).
Si j'ai besoin d'un autre fichier Excel, j'ouvre un 2e Excel. Pas de problème.


Message édité par AlainTech le 16-06-2005 à 22:22:00

---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1122699
scuny
Posté le 17-06-2005 à 08:52:30  profilanswer
 

un 2ieme classeur!
 
je me suis mal exprimé.
 
ce que je voulais dire c'est qu'il n'est pas possible, a ma connaissance, d'avoir du multifenetre (avec parametre différent suivant la fenetre)
 
plusieur classeur (fichier) oui, mais si une modif de parametrage d'excel est faite (barre d'outil par ex), c'est pour tous les classeurs.


Message édité par scuny le 17-06-2005 à 08:53:09
n°1124935
wice
Posté le 20-06-2005 à 07:21:37  profilanswer
 

ok donc en fait, pour utiliser un autre fichier Excel, les utilisateurs sont obligés d'ouvrir un autre Excel si j ai bien compris.

n°1129382
AlainTech
Pas trouvé? Cherche encore!
Posté le 24-06-2005 à 01:38:15  profilanswer
 

Oui, c'est la seule façon de pouvoir continuer à utiliser Excel en ayant un Form modal ouvert.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Créer un raccourci vers une macro

 

Sujets relatifs
Comment traiter flux XML en VBA[VBA Excel] pb de paths (résolu)
filtrer avec VBAVBA : Dessiner un arbre
[VBA-ACCESS] Rafraîchissement d'un formulaireCreer une interface pour une base de données sous access
[PHP] Script de conversion vers csvComment extraire des données de SQL Server via Excel Vba????
Macro autoexec pour supprimer les lignes blanchesclasse + lien vers une DB prob incompréhenssible (resolu)
Plus de sujets relatifs à : [VBA] Créer un raccourci vers une macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR