macro excel

A

ancat

Guest
Bonjour
Je suis une débutante et je me demandais s'il était possible de creer une macro permettant de deverouiller une feuille excel uniquement apres la saisie de certains parametres?

Et est-il possible de créer un bouton permettant d'enregistrer la feuille excel en .txt avec comme separateur des tabulations.

Si oui, es ce que quelq'un pourrait me conseiller des sources me permettant de comprendre le fonctionnement...

Merci d'avance
Bye
Ancat
 
D

Dan

Guest
Bonsoir Ancat,

Il ya plus simple qu'une macro.
1. Sélectionne les cellules à compléter sur ta feuille.
2. vas dans menu / format / cellule et clique sur l'onglet Protection
3. décoche la case "verrouiller" puis OK
4. Va dans menu / outil / protection et là place un mot de passe (tu peux le laisser en blanc si tu souhaites) puis fais OK

Comme cela tu peux saisir les données uniquement dans les cellules que tu as choisie.

Est-ce cela te convient ?

@+ Dan
 
A

ancat

Guest
Merci d'avoir repondu si vite

Oui j ai deja effectue cette opération mais je voudrais que les cellules se
deverouillent uniquement quand les case A1 B1 et C1 sont remplies. Es ce
possible sans macro?
Bye AC
 
D

Dan

Guest
Re,

Non Ancat ce n'est pas possible cela. Il te faut faire une macro que l'on dit événementielle qui va exécuter cette action sur base des conditions dont tu parles.

Merci de dire si cela t'intéresse avec une macro.

@+ Dan
 
D

Dan

Guest
Bonsoir,

voici une solution qui suppose que ta feuille est protégée comme je te l'ai expliqué avant.

1. Ouvres VBA par ALT + F11
2. Dans la fenetre "projet" à gauche, tu vas voir le noms des feuilles de ton classeur -> double cliques sur ta feuille concernée par ce que tu veux faire.
3. Dans la fenetre à droite places ce code :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Range("A1") > 0 And Range("B1") > 0 Then ActiveSheet.Unprotect
End Sub

où A1 et B1 représentent les cellules qui ne sont pas verrouillées et que tu veux compléter.
4. Fermes VBA puis protège ta feuille.
5. complète les cellules A1 et B1, ta feuille va normalement se déprotéger.

Voici également une autre version que me donne Didier_Mdf sur le T'chat. A placer au même endroit en lieu et place de l'autre.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1:B1")) Is Nothing Then
If Range("A1") + Range("B1") > 0 Then ActiveSheet.Unprotect
End If
End Sub

Je te rappelle que j'ai supposé que le mot de passe était en blanc.

N'oublie pas de reprotéger ta feuille avant de fermer ton fichier.

Bon travail

@+ Dan
 

Discussions similaires

Réponses
15
Affichages
1 K
Compte Supprimé 979
C

Membres actuellement en ligne

Statistiques des forums

Discussions
314 144
Messages
2 106 357
Membres
109 563
dernier inscrit
sylla121