Selection ou execution sur des cellules Cachees
Résolu/Fermé
Kill3Hoshigaki
Messages postés
11
Date d'inscription
vendredi 29 janvier 2016
Statut
Membre
Dernière intervention
11 mars 2016
-
12 févr. 2016 à 09:00
Kill3Hoshigaki Messages postés 11 Date d'inscription vendredi 29 janvier 2016 Statut Membre Dernière intervention 11 mars 2016 - 11 mars 2016 à 09:01
Kill3Hoshigaki Messages postés 11 Date d'inscription vendredi 29 janvier 2016 Statut Membre Dernière intervention 11 mars 2016 - 11 mars 2016 à 09:01
A voir également:
- Selection ou execution sur des cellules Cachees
- Excel additionner des cellules - Guide
- Verrouiller des cellules excel - Guide
- Concatener deux cellules excel - Guide
- Codes secrets Android : accéder aux fonctions cachées - Guide
- Figer des cellules excel - Guide
6 réponses
borisdu59
Messages postés
4
Date d'inscription
lundi 1 juin 2009
Statut
Membre
Dernière intervention
12 février 2016
12 févr. 2016 à 09:39
12 févr. 2016 à 09:39
Bonjour,
Il me semble que le premier problème vient du fait que les feuilles soient verrouillées. En effet les actions du VBA seront interprété comme des actions d'utilisateur par excel et donc subirons les mêmes restrictions.
Ce que vous pouvez faire dans un premier temps est de déverrouiller la feuille dont vous allez vous servir en début de fonction, puis de la déverrouiller. Pour cela, après l'instruction "Sheets("Confidential").Activate" utiliser celle-ci pour déverrouiller la feuille:"ActiveSheet.Unprotect".
A la fin de votre code utiliser cette instruction pour reverrouiller la feuille : ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
Attention : "ActiveSheet.Protect" permet de protéger la feuille sélectionnée le reste sont les restriction à mettre en place (type sélection de cellule vérouillée, etc.)
--
Il me semble que le premier problème vient du fait que les feuilles soient verrouillées. En effet les actions du VBA seront interprété comme des actions d'utilisateur par excel et donc subirons les mêmes restrictions.
Ce que vous pouvez faire dans un premier temps est de déverrouiller la feuille dont vous allez vous servir en début de fonction, puis de la déverrouiller. Pour cela, après l'instruction "Sheets("Confidential").Activate" utiliser celle-ci pour déverrouiller la feuille:"ActiveSheet.Unprotect".
A la fin de votre code utiliser cette instruction pour reverrouiller la feuille : ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
Attention : "ActiveSheet.Protect" permet de protéger la feuille sélectionnée le reste sont les restriction à mettre en place (type sélection de cellule vérouillée, etc.)
--
Kill3Hoshigaki
Messages postés
11
Date d'inscription
vendredi 29 janvier 2016
Statut
Membre
Dernière intervention
11 mars 2016
12 févr. 2016 à 10:16
12 févr. 2016 à 10:16
Bonjour Borisdu59,
Je vous remercie pour votre aide, j'ai insere l'instruction, voici ce que j'ai:
Une partie du probleme a ete resolu, lorsque je decide de cacher les cellules, le mail est envoye sans le contenu, des que je le rend visible, il apparait dans le mail. est il possible d'avoir une instruction pour rendre visible la plage de cellule selectionnee momentanement.
Si vous avez d'autres suggestions, je vous remercie d'avance.
Je vous remercie pour votre aide, j'ai insere l'instruction, voici ce que j'ai:
Private Sub CommandButton1_Click()
'Select the range of cells on the active worksheet.
'Procédure de sélection d'une plage de cellules dans une autre feuille de calcul du même classeur.
Sheets("Confidential").Activate
ActiveSheet.Unprotect "Admin" 'deverouiller provisoirement le mot de passe
ActiveSheet.Range("C31:F42").Select
ActiveWorkbook.EnvelopeVisible = True ' Show the envelope on the ActiveWorkbook.
'Set the optional introduction
With ActiveSheet.MailEnvelope
.Introduction = "This is your result for the weekly quiz based on DTR Standards."
.Item.To = Range("G60")
.Item.Cc = "CLorbo@slb.com" 'In Cc
.Item.Subject = "Feedback_Quiz_Evaluation-BDTSQ" 'Subject lines.
.Item.Send 'Finally the message is sent.
End With
ActiveSheet.Protect "Admin", DrawingObjects:=False, Contents:=True, Scenarios:=False, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True
End Sub
Une partie du probleme a ete resolu, lorsque je decide de cacher les cellules, le mail est envoye sans le contenu, des que je le rend visible, il apparait dans le mail. est il possible d'avoir une instruction pour rendre visible la plage de cellule selectionnee momentanement.
Si vous avez d'autres suggestions, je vous remercie d'avance.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
12 févr. 2016 à 16:36
12 févr. 2016 à 16:36
Bonjour
Avec le mot de passe écrit dans le code, la confidentialité ne semblerait pas être assurée...
Avec le mot de passe écrit dans le code, la confidentialité ne semblerait pas être assurée...
Kill3Hoshigaki
Messages postés
11
Date d'inscription
vendredi 29 janvier 2016
Statut
Membre
Dernière intervention
11 mars 2016
12 févr. 2016 à 18:17
12 févr. 2016 à 18:17
Exactement, c'est ce que je me suis dit il y a a peine une heure, meme etant verouille il est possible pour un amateur d'aller regarder le code puisqu'il est accessible. Reste a savoir comment y remedier. Si vous avez une solution, ce serait sympa :)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
13 févr. 2016 à 08:51
13 févr. 2016 à 08:51
Bonjour
Le principe serait de demander le mot de passe à l'ouverture du classeur la feuille "secrète" étant en "veryhidden"
pour qu'un petit curieux ne puisse voir ce mot de passe tu peux le crypter: le petit curieux verra la clé mais pas le mot. vous pouvez être plusieurs avec chacun votre mot de passe
je fais des fouilles archéologiques dans mon disque dur et t'envoie un exemple à adapter
Le principe serait de demander le mot de passe à l'ouverture du classeur la feuille "secrète" étant en "veryhidden"
pour qu'un petit curieux ne puisse voir ce mot de passe tu peux le crypter: le petit curieux verra la clé mais pas le mot. vous pouvez être plusieurs avec chacun votre mot de passe
je fais des fouilles archéologiques dans mon disque dur et t'envoie un exemple à adapter
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 13/02/2016 à 10:00
Modifié par michel_m le 13/02/2016 à 10:00
Re
la clé de cryptage est basée sur "XL-2345" que tu peux changer à ta guise dans les 2 classeurs
sur le classeur administrateur:
en tapant ton pseudo ou ce que tu veux tu obtiens le mot de passe (nota: ca reste quand même naïf puisqu'on se base sur l'additions des codes ascii --> "toto"="otto"); classeur à enregistrer sur clé USB si parano et/ou ambiance dans la boite!
Sur le classeur utilisateur:
l'utilisateur pour accéder au classeur doit taper ton pseudo et ton mot de passe dans un textbox ( pour camoufler le mdp par des étoiles)
dans cette maquette-démo le code exact marque "gagné" avec la voix de Coluche.
Le petit curieux peut voir le code avec la clé mais comme il ne connait ni ton pseudo ni ton code...
A toi alors de l'adapter pour accéder à ta feuille "secrète" (passer de veryhidden à visible ?)
Il serait à installer sur ta feuille publique à mettre dans un coin peut-être dans des colonnes masquées. à toi de voir
de même mettre un mdp pour l'accès aux feuilles VBA et voir si encore utile de protéger la feuille secrète
La bête:
http://www.cjoint.com/c/FBniFOXktwr
Michel
la clé de cryptage est basée sur "XL-2345" que tu peux changer à ta guise dans les 2 classeurs
sur le classeur administrateur:
en tapant ton pseudo ou ce que tu veux tu obtiens le mot de passe (nota: ca reste quand même naïf puisqu'on se base sur l'additions des codes ascii --> "toto"="otto"); classeur à enregistrer sur clé USB si parano et/ou ambiance dans la boite!
Sur le classeur utilisateur:
l'utilisateur pour accéder au classeur doit taper ton pseudo et ton mot de passe dans un textbox ( pour camoufler le mdp par des étoiles)
dans cette maquette-démo le code exact marque "gagné" avec la voix de Coluche.
Le petit curieux peut voir le code avec la clé mais comme il ne connait ni ton pseudo ni ton code...
A toi alors de l'adapter pour accéder à ta feuille "secrète" (passer de veryhidden à visible ?)
Il serait à installer sur ta feuille publique à mettre dans un coin peut-être dans des colonnes masquées. à toi de voir
de même mettre un mdp pour l'accès aux feuilles VBA et voir si encore utile de protéger la feuille secrète
La bête:
http://www.cjoint.com/c/FBniFOXktwr
Michel
Kill3Hoshigaki
Messages postés
11
Date d'inscription
vendredi 29 janvier 2016
Statut
Membre
Dernière intervention
11 mars 2016
13 févr. 2016 à 15:14
13 févr. 2016 à 15:14
Bonjour Michel,
Merci pour le fichier joint, je teste la Bete, lol! :)
Cordialement
Merci pour le fichier joint, je teste la Bete, lol! :)
Cordialement
Bonjour Michel,
Je vous remercie pour le fichier, j'ai bien aime et cela me donne des idees pour mon prochain projet, formidable vous etes.
J'ai trouve une autre methode et simple pour empecher de visualiser le Code
protéger le code VBA :D
1 - Ouvrir VBE (Alt + F11)
2 - Se placer sur le projet VBA du classeur
C'est du style : VBAProject(Classeur1)
Si la fenêtre des projets n'est pas visible, il suffit de cliquer sur le menu Affichage > Explorateur de projets.
3 - Faire un clic droit et choisir "Propriétés de VBAProject..."
4 - Cliquer sur l'onglet "Protection"
5 - Cocher la case "Verrouiller le projet pour affichage"
6 - Mettre un mot de passe (le répéter dans les 2 textbox) et cliquer sur OK
A la prochaine ouverture du classeur le code VBA sera protégé par le mot de passe.
Je vous remercie pour le fichier, j'ai bien aime et cela me donne des idees pour mon prochain projet, formidable vous etes.
J'ai trouve une autre methode et simple pour empecher de visualiser le Code
protéger le code VBA :D
1 - Ouvrir VBE (Alt + F11)
2 - Se placer sur le projet VBA du classeur
C'est du style : VBAProject(Classeur1)
Si la fenêtre des projets n'est pas visible, il suffit de cliquer sur le menu Affichage > Explorateur de projets.
3 - Faire un clic droit et choisir "Propriétés de VBAProject..."
4 - Cliquer sur l'onglet "Protection"
5 - Cocher la case "Verrouiller le projet pour affichage"
6 - Mettre un mot de passe (le répéter dans les 2 textbox) et cliquer sur OK
A la prochaine ouverture du classeur le code VBA sera protégé par le mot de passe.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
>
Kill3Hoshigaki
16 févr. 2016 à 12:10
16 févr. 2016 à 12:10
Bonjour,
oui, j' y ai pensé après et je me suis dit " Que je suis C....!!!)
oui, j' y ai pensé après et je me suis dit " Que je suis C....!!!)
Kill3Hoshigaki
Messages postés
11
Date d'inscription
vendredi 29 janvier 2016
Statut
Membre
Dernière intervention
11 mars 2016
16 févr. 2016 à 12:12
16 févr. 2016 à 12:12
je vais être plus précis pour détailler mon problème qui persiste. Lorsque vous cachez une cellule (colonne/ligne) ou encore une feuille excel, tous les codes, instructions ne marchent plus. par exemple, j'utilise un code pour afficher les données qui sont sur une plage de cellules sélectionnées, une fois cachée, les données ne sont plus visibles ni exploitable mais la macro s’exécute.
Y a t-il un moyen d'exploiter les données qui sont sur une feuille excel cachée?
Y a t-il un moyen d'exploiter les données qui sont sur une feuille excel cachée?
Kill3Hoshigaki
Messages postés
11
Date d'inscription
vendredi 29 janvier 2016
Statut
Membre
Dernière intervention
11 mars 2016
11 mars 2016 à 09:01
11 mars 2016 à 09:01
J’ai trouvé une alternative bien que cela ne soit pas parfait. J’ai rendu visible et active la feuille contenant les informations dont j’ai besoin,
ensuite le mail est envoyé avec les éléments dont j'ai besoin.
Apres je cache la feuille et je rends visible une autre.
Je persiste à croire qu’il y a un moyen plus simple que celui-ci.
Je vous remercie pour toutes vos lumières.
Sheets("Confidential").Visible = True
Sheets("Confidential").Activate
ensuite le mail est envoyé avec les éléments dont j'ai besoin.
Apres je cache la feuille et je rends visible une autre.
Sheets("Confidential").Visible = xlSheetVeryHidden
Sheets("Activation").Visible = -1
Je persiste à croire qu’il y a un moyen plus simple que celui-ci.
Je vous remercie pour toutes vos lumières.