|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 49 ![]() |
bonjour
j' ai trouvé des problèmes dans l'utilisation des données d'un classeur fermé pour la création d'un macro dans un autre classeur , pour être plus précis j'ai fait une application qui sera lancée à partir d'un classeur nommé "application "pour cela j'ai fait un macro dans ce classeur , dans ce macro on a besoin des données d'un autre classeur qui doit être fermé lors de lancement de l'application ,ce classeur est nommé " data base" ,de plus ce dernier classeur est protéger par un mots de passe ; pour ces raisons je trouve des problèmes dans le lancement de l'application. j'ai essayé avec ce code mais j'ai trouvé des erreurs faute de classeur fermé Code :
merci |
||
|
|
02
|
|
|
#2 |
![]() ![]() |
Bonjour
D'abord je vais te conseiller la lecture de ce tuto pour la lecture de données dans des classeurs fermés : Lire et écrire dans les classeurs fermés Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
20
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 49 ![]() |
bonjour
j'ai lu ce document mais j'ai pas compris comment faire pour résoudre mon probléme je suis débutant en vba merci de me répondre personne ne peut m'aider !!!!!!! |
|
|
02
|
|
|
#4 | ||
|
Membre éclairé
![]() Inscription : juillet 2011 Messages : 141 ![]() |
Le code fourni est un UserForm de login pour saisir un nom d'utilisateur et son mot de passe.
Décrivez votre feuille par des constantes en début de module. Choisir des noms représentatifs pour les boutons Ok, Cancel, les texboxes et autres OptionButton. Ne laissez jamais les noms par défaut avec un n°. Présentez votre code d'une façon structurée avec alignement des If and End If et indenter les blocs Then et Else avec des TAB selon le niveau d'imbrication. Les noms de variables doivent être sur au moins cinq lettres pour être compréhensibles. Code :
|
||
|
|
11
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 49 ![]() |
merci MattChess
j'aime bien votre code mais mon problème est que l'application dans un classeur autre que "data base " plus précisément l'application dans un classeur et les données dans un autre classeur "data base" pour accéder à l'application l'utilisateur doit ouvrir le classeur ou se trouve l'application un userforme sera affiché et demande à l'utilisateur l'identifiant , le mots de passe et le choix de la fonction . les données sont placées dans le classeur data base qui doit être fermé , de plus ce classeur est protéger par un mots de passe " xxxxx" lorsque j'exécute ce code j'obtiens le message d'erreur suivant " cannot access to the worksheetsSheets in data base.xls error 9 subscript out of range" merci |
|
|
02
|
|
|
#6 | ||||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonjour,
Voici pour la récup des noms dans le classeur fermé (adapter les variables et plage), à mettre dans un module standard : Code :
Code :
|
||||
|
|
20
|
|
|
#7 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 49 ![]() |
merci theze
j'ai pas compris comment faire la liaison entre les deux codes (votre code et le code de mattchees car dans le code de mattchees je dois récupérer chaque nom ainsi que le linge et la colonne correspondant et le mots de passe qui se trouve dans l'autre colonne adjacent de la même ligne de nom trouvé. une autre chose mon classeur data base est protégé par un mots de passe bonjour pour reformuler le probléme: j'ai 2 classeurs un classeur nommé application qui contient l'application et un autre classeur nommé data base qui contient les données. l'application se compose en 3 userforme la premier est une général qui permet l'accès au deuxième , cette dernière nous permet de passer au troisième. la deuxième demande l'identifiant et le mots de passe et vérifie ces données dans la base de données qui se trouve dans la classeur data base qui doit être fermé et protégée par le mot de passe 1111 ,la troisième userforme demande aussi le mots de passe et l'identifiant et le nom de la machine de technicien il contient de plus deux combobox dont les données sont chargées de la feuille 1 de la classeur data base . voici le deux classeurs : |
|
|
02
|
|
|
#8 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonsoir,
Tout le code ci-dessous est à mettre dans le module de ta Form. Le bouton de commande se nomme "CmdControle" Les deux TextBox se nomment "TxtUtilisateur" et "TxtMdeP" Les deux boutons d'option se nomment "OptManager" et "OptTechnicien" A mon sens, vu ce que tu demande (à voir ton système de recherche de nom et mot de passe) ta base de données est construite d'une drôle de façon et à priori absolument pas structurée comme elle devrait être mais bon... C'est un premier jet ça peut être fortement optimisé : Code :
|
||
|
|
20
|
|
|
#9 | |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 49 ![]() |
merci Theze
lors de l'exécution de ce dernier code j'ai obtenu l'erreur suivante" la moteur de base de données microsoft jet n'as pas pu trouvé l'objet Scheet1C:d assurer vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'accès" et une autre erreur " run time error94 invalide use of null" j'ai envoyé les deux classeur dans mon message précédent Citation:
merci |
|
|
|
01
|
|
|
#10 |
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonsoir,
J'ai un peu modifié le classeur servant de base de données. Trois champs, Nom, Mot de Passe et Titre. Dans une base de données les champs vide pose souvent problème car il retourne Null donc il est conseillé d'entrée une valeur. Je te retourne les deux classeurs en pièce jointe. Hervé. |
|
|
30
|
|
|
#11 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 49 ![]() |
merci bien these
il y a un problème le classeur data base est codé par le mots de passe 1111 lors de exécution j'obtiens cette erreur "impossible de décoder le fichier" lorsque le fichier devient non protégé merci |
|
|
01
|
|
|
#12 |
|
Office & Excel ![]() ![]() ![]() |
Salut.
Le problème, c'est que tu demandes que l'on t'aide, mais lorsque l'on te donne des conseils, tu n'en tiens pas compte... Vu ce que tu souhaites réaliser, tu devrais te tourner vers Access. Cela dit, Excel n'est pas fait pour lire des classeurs fermés comme si c'était des bases de données. Donc, dans certains cas très rares, de mon expérience en tous cas, il est utile de pouvoir lire dans un classeur fermé, mais c'est tout sauf performant. Si tu dois néanmoins travailler avec Excel, alors, tu dois d'abord réfléchir à ton projet, car on retombe donc, comme souvent, sur un problème de conception de classeur, et je dirais même de conception du projet (intellectuel et technique). Sur le plan conceptuel, il serait de loin profitable de récupérer les données par une ouverture classique, éventuellement invisible, du classeur "base de données" et de les placer dans une feuille du classeur. Après, tu t'aides des outils Excel, éventuellement en VBA, pour traiter et analyser les données. Ici, de ce que j'ai lu de tes explications, c'est l'usine à gaz assurée:
La liste des inconvénients citée plus haut est loin d'être exhaustive... Désolé d'être si direct, mais c'est à
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) --------------- Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP Vous souhaitez rédiger pour DVP? Contactez-moi Amoureux de la langue française? Venez corriger nos ressources VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA... N'oubliez pas de VOTER (en bas à droite d'un message) --------------- |
|
10
|
|
|
#13 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 49 ![]() |
merci pour votre réponse
pouvez vous m'expliquer comment je peux tourner vers acess dans mon cas merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com