aide sur macro excel

D

DJE8269

Guest
bonjour a toi qui me lis!!!
je pense que mon probleme est assez simple pour quelqu'un qui si connait un peu (pas mon cas)
voila le contexte:
j'ai crée un bouton excel et je voudrai qu'en cliquant dessus s'ouvre un programme en .exe disons la calculatrice par exemple mais que si je clique a nouveau dessus il la fasse apparaitre sans l'ouvrir une deuxieme fois et si possible sans reduire la fenetre excel en cour.
encore besoin d'aide toujours dans le meme contexte un bouton sous excel qui quand je clique dessus me demande un mot de passe avant d'ouvrir une feuille excel (feuille confidentiel) et que si mot de passe faux alors il redemande le mot de passe encore et encore jusqu'a qu'il soit bon.
encore moi le boulet plein de question mais est il possible sous excel d'enlever la barre(fichier, edition, affichage, etc...) pour afficher une image (comme un fon d'ecran car c la ou se trouve mes boutons )

merci d'avance pour vos reponse en vous souhaitant plein de bonheur

amicalement dje8269
 
R

Ronan

Guest
Bonsoir,

Concernant le lancement de la calculatrice Windows (par exemple) :

Sub OuvreApp()
On Error GoTo AppOuvre
AppActivate "Calculatrice", False
End
AppOuvre:
Shell "c:\windows\calc.exe", vbNormalFocus
End Sub

Le programme indique en premier que s'il rencontre une erreur, il doit se rendre à la ligne "AppOuvre".
Ensuite, il active le programme demandé.
Si le programme est exécuté c'est fini, par contre, si le programme n'est pas exécuté, alors il rencontre une erreur et se rend à la ligne AppOuvre et ouvre le programme demandé.

@+

Ronan
 
R

Ronan

Guest
Re-Bonsoir,

Par contre, concernant l'ouverture protégée de ta "Feuille", s'agit-il d'une feuille existante dans ton classeur en cours ou s'agit-il d'un classeur à part entière ?

Car s'il s'agit d'un classeur, tu as l'option de protéger ton classeur avec un mot de passe (et ce en mode lecture comme en écriture).

S'il s'agit d'une feuille de ton classeur en cours, tu as aussi l'option de la protéger avec un mot de passe et ce, en la masquant.

@+

Ronan
 
D

DJE8269

Guest
merci beaucoup ronan je vais essayrer ce matin meme
pour la deuxieme question il s'agit d'un classeur different et donc quand je clique sur mon bouton tou va bien (je protege avant ma feuille par un mot de passe) il me demande mon mot de passe et si il est bon tout va bien par contre s'il est mauvais il me marque erreur dans la macro car il ne peut pas ouvrir la feuille donc bug alors que moi je voudrais qu'il redemande le mot de passe.
merci encore pour tout tu m'as bien fais avance
salutation
 
D

DJE8269

Guest
alors voila j'ai un classeur excel avec des boutons dessus
en cliquant sur un bouton je voudrai qu'il ouvre un autre classeur excel mais avant de l'ouvrir qu'il me demande un mot de passe et si le mdp faux alors qu'il le redemande a l'infini
ma macro actuel est :
sub confidentiel()
shell ("d:\programme\confidentiel")
end sub

le classeur est avant tout proteger en lecture par un mdp (j'ai fait enregistrer sous , outil , mot de passe)

quand je clique sur le bouton il me demande le mot de passe nickel s'il est juste impecable mais si il est faux alors erreur car la macro ne peut pas ouvrir le doc
ce que j'ai essayer c de revenir au debut de la question

sub confidentiel()
lbl1:
on error goto lbl1
shell ("d:\programme\confidentiel")
end
end sub
mais ca marche po il me demande le mdp je me trompe il me redemande le mdp je me retrompe et bing erreur
si tu pouvais venir a mon aide je t'en serais reconaissant

la premiere solution que tu m'as donné marche nickel sauf que en fait le classeur que je veut ouvrir est reduis et je voudrais qu'il le fasse apparaitre en le grandissant car pour l'instant il passe en actif nickel mais comme il est reduit je le vois pas apparaitre merci d'avance
bonne journee a toi
 
R

Ronan

Guest
Bonsoir,

Dans un premier temps, pour ouvrir un classeur Excel, tu n'as pas besoin de la méthode "Shell". La méthode la + appropriée est Workbooks.Open.

Par exemple :

Workbooks.Open("c:\mes documents\mon classeur.xls")

@+ tard (obligations oblige)

Ronan
 
R

Ronan

Guest
Bonjour,

Voici le code te permettant d'ouvrir un fichier Excel protégé par mot de passe :

Sub ouvre()
Dim mdp As Variant
debut:
mdp = Application.InputBox("Saisissez votre mot de passe", _
"Protection fichier", "Mot de passe", , , , , 1 + 2)
If mdp = False Then Exit Sub
If mdp <> "toto" Then
GoTo debut
End If
Workbooks.Open "c:\windows\bureau\classeur1.xls", , , , mdp, mdp
End Sub

Dans le code ci dessus, si l'utilisateur clique sur le bouton Annuler ou sur la croix de fermeture, le programme se termine sans rien faire :

If mdp = False Then Exit Sub

Par contre, si un mot de passe est saisi, il est comparé avec le vrai mot de passe et s'ils sont différents, le mot de passe est redemandé jusqu'à ce que le mot de passe saisi soit le bon :

If mdp <> "toto" Then
GoTo debut

Une fois le bon mot de passe saisi, le classeur demandé est ouvert en y spécifiant le mot de passe de lecture et le mot de passe d'écriture :

Workbooks.Open "c:\windows\bureau\classeur1.xls", , , , mdp, mdp

Voilà.

@+

Ronan
 
M

max

Guest
Bonjour,
Je cherche à faire un truc tout simple mais que je n'arrive pas à faire.
J'ai une macro excel dans laquelle j'ouvre un fichier "toto.xxx". et ensuite, je le "convertis" automatiquement. Le pb, c'est que le chemin du fichier est "codé en dur" dans la macro.
Ce que je souhaiterai, c'est que lorsque je lance la macro, j'ai la fenetre de l'explorateur de fichiers (genre xlDialogOpen) mais que lorsque je clique sur le bouton "ouvrir", au lieu d'ouvrir le fichier, il ne "me renvoie que" le chemin du fichier sélectionné.
Comment faire ?
 
M

myDearFriend

Guest
Bonjour Max,

Je suppose que tu t'es un peu mélangé les pinceaux parce que là, tu vois, tu es sur un fil de discussion qui n'a rien à voir avec ta question ! LOL

Cela dit, pour répondre à ton problème, jetes un oeil sur le fil ci-dessous :

<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=83233&t=83226>



Cordialement,
Didier_mDF
 
A

Aurel

Guest
Bnjour a tous!
J'ai un ptit probleme concernant une macro!!!
Voila:
-J'ai 2 feuille (Feuil1 et feuil2)!
Sur la feuille 2, il ya un tableau!
Sur la feuille 1, j'ai une cellule!
Je voudrais faire en sorte que ca me tri automatiquement par ordre alphabetique une colonne du tableau (en feuil2), et que ca me le mette en liste deroulante dans la cellule en feuil 1! Sachant que pour chaque utilisateur de cette feuille, le tableau sera différent donc c'est pour ca que je veux trier la colonne qui change, sachant aussi qu'il y aura des "blancs" et que lors du trie, je veux supprimer ses blancs là!!!

Pouvez vous m'aider?
Merci d'avance! AUREL
 

Discussions similaires

Réponses
8
Affichages
180
Réponses
21
Affichages
1 K

Statistiques des forums

Discussions
312 337
Messages
2 087 390
Membres
103 534
dernier inscrit
Kalamymustapha