[VBA Excel] activesheet.visible=false !HELP!!
Résolu/Fermé
@ntic
-
7 févr. 2008 à 16:31
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 - 8 févr. 2008 à 12:19
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 - 8 févr. 2008 à 12:19
A voir également:
- [VBA Excel] activesheet.visible=false !HELP!!
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
15 réponses
Darkito
Messages postés
1191
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
545
7 févr. 2008 à 16:43
7 févr. 2008 à 16:43
En Vba, il suffisait de lancer une macro :
Sub toto() Sheets(1).Visible = True End Sub
LatelyGeek
Messages postés
1758
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
5 janvier 2023
550
8 févr. 2008 à 12:19
8 févr. 2008 à 12:19
Tu as essayé Application.ScreenUpdating = False???
Hello,
Je ne suis pas sur un poste avec office...
Mais il me semble que Format/Feuille/Afficher devrai résoudre ton problème si c'est une feuille qui est masquée...
Si c'est le classeur.. Fenetre/Afficher... ou qqch comme ca...
Aiwe
Je ne suis pas sur un poste avec office...
Mais il me semble que Format/Feuille/Afficher devrai résoudre ton problème si c'est une feuille qui est masquée...
Si c'est le classeur.. Fenetre/Afficher... ou qqch comme ca...
Aiwe
Darkito
Messages postés
1191
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
545
7 févr. 2008 à 16:35
7 févr. 2008 à 16:35
Bonjour
essaie : Format -> Feuille -> afficher
essaie : Format -> Feuille -> afficher
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oh un tout grand merci !
J'ai pu récupérer ma feuille avec Format \ Feuille \ afficher
j'ai vraiment eu chaud !
une petite dame qui a encore beaucoup à apprendre du VBA...
J'ai pu récupérer ma feuille avec Format \ Feuille \ afficher
j'ai vraiment eu chaud !
une petite dame qui a encore beaucoup à apprendre du VBA...
Salut,
3 solutions:
1/ ds VBA, elimines la commande ActiveSheet.Visible = False. il n'y a de raison car DB.xls est de toute facon invisible à l'utilisateur! (sinon, mets les données sur une autre feuille)
2/ vas dans le menu 'Format/feuill/afficher' et un dialogue s'ouvre. choisis ta feuille et elle est visible.
3/ même la feuille cachée tu peux y prendre des donées.
3 solutions:
1/ ds VBA, elimines la commande ActiveSheet.Visible = False. il n'y a de raison car DB.xls est de toute facon invisible à l'utilisateur! (sinon, mets les données sur une autre feuille)
2/ vas dans le menu 'Format/feuill/afficher' et un dialogue s'ouvre. choisis ta feuille et elle est visible.
3/ même la feuille cachée tu peux y prendre des donées.
Merci beaucoup pour votre aide.
En fait, ce que je voulais c'est que, lorsque l'utilisateur appuie sur le bouton "enregistrer", qu'on ne puisse pas voir qu'une autre feuille s'ouvre, qu'un enregistrement s'ajoute et que le fichier se referme.
J'aurais voulu que ce soit tout à fait transparent pour l'utilisateur.
Maintenant , j'imagine que si je fais Sheets(1).Visible = True juste avant le CLOSE qu'on va tout de même voir la feuille (un très bref moment) derrière mon formulaire ...
Je suis peut-être difficile, mais je voudrais que l'utilisateur reste dans son formulaire sans voir ce qu'il se passe en arrière-plan.
Merci!
En fait, ce que je voulais c'est que, lorsque l'utilisateur appuie sur le bouton "enregistrer", qu'on ne puisse pas voir qu'une autre feuille s'ouvre, qu'un enregistrement s'ajoute et que le fichier se referme.
J'aurais voulu que ce soit tout à fait transparent pour l'utilisateur.
Maintenant , j'imagine que si je fais Sheets(1).Visible = True juste avant le CLOSE qu'on va tout de même voir la feuille (un très bref moment) derrière mon formulaire ...
Je suis peut-être difficile, mais je voudrais que l'utilisateur reste dans son formulaire sans voir ce qu'il se passe en arrière-plan.
Merci!
Darkito
Messages postés
1191
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
545
7 févr. 2008 à 16:58
7 févr. 2008 à 16:58
Je crois que tu peux préciser des actions lorsque le fichier est fermé.
Elles s'éxécutent juste avant de quitter. je pense que c'est alors transparent pour l'utilisateur.
En revanche, s'il réouvre le fichier, il verra la feuille.
[edit] jette un oeil du coté de
Elles s'éxécutent juste avant de quitter. je pense que c'est alors transparent pour l'utilisateur.
En revanche, s'il réouvre le fichier, il verra la feuille.
[edit] jette un oeil du coté de
WorkbookBeforeClose
Dans ce cas, pars de le départ avec une feuille cachée et protege toute la structure fu fichier avec un mot de passe.
Désolé, mais je ne vois pas bein l'utilité.
- que se passera-t-il si un utilisateur fais 2 fois le formulaire? le 2nd écrasera le 1er?
- veux-tu garder des versions?
- les utilisateurs vont-ils te remettre les fichier remplis ou tu vas collecter tous les DB.xls?
Désolé, mais je ne vois pas bein l'utilité.
- que se passera-t-il si un utilisateur fais 2 fois le formulaire? le 2nd écrasera le 1er?
- veux-tu garder des versions?
- les utilisateurs vont-ils te remettre les fichier remplis ou tu vas collecter tous les DB.xls?
Merci beaucoup pour vos idées, elles sont intéressantes, mais je n'ai pas encore trouvé la solution qui me convenait.
En fait, mon application tourne autour d'un formulaire.
Dès que l'application est ouverte, je montre mon formulaire à l'écran.
L'utilisateur peut alors encoder des données dans des zones de champs, dans des Combobox, ...
Dès que toutes ses zones sont remplies, il a le choix entre "annuler" ou "enregistrer".
Et quand il appuie sur "enregistrer", j'aimerais qu'on ne puisse pas voir que derrière, j'ouvre ma base de donnée, j'enregistre toutes ces données et je ferme la base de données pour revenir au formulaire.
J'aimerais que toutes les manoeuvres d'enregistrement soient transparentes; que l'utilisateur ne voit que son formulaire et pas ce qu'il se passe derrière.
C'est (juste) une question d'esthétique.
Merci en tous cas pour votre aide et vos recherches.
En fait, mon application tourne autour d'un formulaire.
Dès que l'application est ouverte, je montre mon formulaire à l'écran.
L'utilisateur peut alors encoder des données dans des zones de champs, dans des Combobox, ...
Dès que toutes ses zones sont remplies, il a le choix entre "annuler" ou "enregistrer".
Et quand il appuie sur "enregistrer", j'aimerais qu'on ne puisse pas voir que derrière, j'ouvre ma base de donnée, j'enregistre toutes ces données et je ferme la base de données pour revenir au formulaire.
J'aimerais que toutes les manoeuvres d'enregistrement soient transparentes; que l'utilisateur ne voit que son formulaire et pas ce qu'il se passe derrière.
C'est (juste) une question d'esthétique.
Merci en tous cas pour votre aide et vos recherches.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
7 févr. 2008 à 17:45
7 févr. 2008 à 17:45
Bonjour,
Tu n'es pas obligé d'ouvrir un fichier pour y faire des mises à jour et donc l'utilisateur ne verra rien et ta tu n'as pas besoin de cacher ta feuille.
;o)
Polux
Tu n'es pas obligé d'ouvrir un fichier pour y faire des mises à jour et donc l'utilisateur ne verra rien et ta tu n'as pas besoin de cacher ta feuille.
;o)
Polux
Ah bon ...
Je croyais que j'étais obligée d'ouvrir le fichier.
Je vais essayer ....
J'ai essayé ceci, mais ça ne marche pas, il me met "l'indice ne correspond pas à la sélection"
fileplainte = ActiveWorkbook.Name
FileDb = "envt_DB.xls"
SheetDB = "Feuil1"
LastRow = Workbooks(FileDb).Sheets(SheetDB).Cells(1, 1).End(xlDown).Row
li = LastRow + 1
Workbooks(FileDb).Sheets(SheetDB).Cells(li, 1).Value = LastRow
Workbooks(FileDb).Sheets(SheetDB).Cells(li, 2).Value = BoxStructPlgt
Workbooks(FileDb).Sheets(SheetDB).Cells(li, 3).Value = BoxTelPlgt
.....
Si j'ajoute le Workbooks.Open ("...\envt_DB.xls") en dessous de la ligne fileplainte, ça marche ... mais c'est pas ce que je voudrais.
Encore merci pour votre aide !
Je croyais que j'étais obligée d'ouvrir le fichier.
Je vais essayer ....
J'ai essayé ceci, mais ça ne marche pas, il me met "l'indice ne correspond pas à la sélection"
fileplainte = ActiveWorkbook.Name
FileDb = "envt_DB.xls"
SheetDB = "Feuil1"
LastRow = Workbooks(FileDb).Sheets(SheetDB).Cells(1, 1).End(xlDown).Row
li = LastRow + 1
Workbooks(FileDb).Sheets(SheetDB).Cells(li, 1).Value = LastRow
Workbooks(FileDb).Sheets(SheetDB).Cells(li, 2).Value = BoxStructPlgt
Workbooks(FileDb).Sheets(SheetDB).Cells(li, 3).Value = BoxTelPlgt
.....
Si j'ajoute le Workbooks.Open ("...\envt_DB.xls") en dessous de la ligne fileplainte, ça marche ... mais c'est pas ce que je voudrais.
Encore merci pour votre aide !
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
8 févr. 2008 à 11:00
8 févr. 2008 à 11:00
bonjour,
Il faut que tu mettes le chemin complet dans FileDB, et je pense que là ça devrait marcher ...
;o)
polux
Il faut que tu mettes le chemin complet dans FileDB, et je pense que là ça devrait marcher ...
;o)
polux
Merci beaucoup Polux pour tes recherches,
J'ai essayé ça aussi, mais ça ne marche pas ... snif snif ...
Je ne comprends pas de trop pq .
J'ai essayé ça aussi, mais ça ne marche pas ... snif snif ...
Je ne comprends pas de trop pq .
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
8 févr. 2008 à 11:44
8 févr. 2008 à 11:44
Ah oui c'est bizarre ...
Je suis remonté sur le post, je n'avais pas tout ... Qu'est-ce qui te gène que le fichier s'ouvre puis se referme ? Enlève ActiveSheet.Visible = False de ton premier post et ça doit se le faire ... l'utilisateur ne peux pas intervenir sur le fichier DB de toute façon ..
;o)
Polux
Je suis remonté sur le post, je n'avais pas tout ... Qu'est-ce qui te gène que le fichier s'ouvre puis se referme ? Enlève ActiveSheet.Visible = False de ton premier post et ça doit se le faire ... l'utilisateur ne peux pas intervenir sur le fichier DB de toute façon ..
;o)
Polux