Lancer l'interface VBA à l'ouverture de excel
Résolu
Pouloupe
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'ai crée un ficher Excel 2010 qui me permet de générer une facture à partir des donner entrer.
J'ai ensuite développer une interface en VBA sous forme de formulaire pour que l'on rentre les données de manière transparente. Mon problème est le suivant:
-je voudrez que lors de l'ouverture de mon fichier Excel l'interface se lance de automatiquement.
- Et je voudrai aussi que l'utilisateur n'ai pas acssée aux feuille de calcule
Je suis débutant en VBA, merci pour votre aide d'avance.
J'ai ensuite développer une interface en VBA sous forme de formulaire pour que l'on rentre les données de manière transparente. Mon problème est le suivant:
-je voudrez que lors de l'ouverture de mon fichier Excel l'interface se lance de automatiquement.
- Et je voudrai aussi que l'utilisateur n'ai pas acssée aux feuille de calcule
Je suis débutant en VBA, merci pour votre aide d'avance.
A voir également:
- Créer une interface vba excel
- Créer une liste déroulante excel - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Déplacer une colonne excel - Guide
- Créer une adresse hotmail - Guide
4 réponses
J'ai trouver il faut lancer visual basic et dans l'explorateur de projet on trouve "thisworkbook"
Après il n'y pas de code et j'ai eu du mal a trouver sa :
Maintenant je il reste la feuille Excel derrière, exist il un moyen pour la faire disparaitre?
Après il n'y pas de code et j'ai eu du mal a trouver sa :
Private Sub Workbook_open() Load UserForm1 UserForm1.Show End Sub
Maintenant je il reste la feuille Excel derrière, exist il un moyen pour la faire disparaitre?
je viens de trouver sa : https://forums.commentcamarche.net/forum/affich-1903604-vba-executer-une-macro-a-l-ouverture-de-excel
mais pas moyen de trouve "thisworkbook" dans excel 2010
mais pas moyen de trouve "thisworkbook" dans excel 2010
Salut,
Je ne pense pas que cela soit très différent dans 2010 que dans les versions précédentes...
Ouvre ton classeur, tape ALT+F11, dans l'éditeur VBA, sur la gauche de l'écran, tu dois avoir la fenêtre "projet". Si cette fenêtre n'est pas affichée : CTRL+R. Dans cette fenêtre projet cherche : VBAProject(nom de ton classeur). Dedans figure le "ThisWorkBook".
Je ne pense pas que cela soit très différent dans 2010 que dans les versions précédentes...
Ouvre ton classeur, tape ALT+F11, dans l'éditeur VBA, sur la gauche de l'écran, tu dois avoir la fenêtre "projet". Si cette fenêtre n'est pas affichée : CTRL+R. Dans cette fenêtre projet cherche : VBAProject(nom de ton classeur). Dedans figure le "ThisWorkBook".
1- Régler la propriété ShowModal de ton UserForm à False
2- dans le code de lancement de l'UserForm ajouter :
EDIT :
On peux se passer du 1- (mise à false de la propriété showmodal), en l'intégrant au code. Comme ceci :
Et je voudrai aussi que l'utilisateur n'ai pas acssée aux feuille de calcule
2 méthodes pour empêcher l'accès à une feuille de calcul:
1/
dans VBA project:
1clic gauche sur la feuille voulue
F4
cliquer sur xlsheetveryhidden de la propriété visible
2/ dans Private Sub Workbook_open()
pour le feuille5 pasr exmple
sheets(5).visible=2
Comment va?
Le problème, dans ce cas, c'est qu'il ne veux donner l'accès à aucune feuille. Or on ne peux pas masquer toutes les feuilles d'un même classeur. Je suis donc allé faire un tour ici :
http://www.presence-pc.com/forum/ppc/Programmation/fermeture-userform-excel-sujet-5108-1.htm
et me suis rendu compte que la meilleure solution pour excel était bien de minimiser le classeur. Mais par contre, ta solution, en complément de la mienne permet de :
- masquer efficacement les feuilles de calcul du classeur, en laissant une feuille vierge
- de n'avoir à l'écran que l'USF.
Donc mixons les deux possibilités, en réglant la propriété "vivible" des feuilles (sauf une vierge) sur xlsheetveryhidden et dans Private Sub Workbook_open() :
Bon WE
cordialement