Macro et protection feuille

Résolu/Fermé
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 - 12 déc. 2013 à 14:50
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 - 14 déc. 2013 à 16:32
Bonjour,

Problème de macro simple tri

Deux macros sont crée, une de tri et l'autre pour remise a zéro du document.
Les cellules concernées sont déverrouillées les deux fonctionnent.

Quand je protège le document => la macro tri ne fonctionne plus ?

Visual basic => « la methode sort de la classe Range à échoué »
débogage =>
Range("B10:O45").Select
Selection.Sort Key1:=Range("B10"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B10").Select
End Sub

Perso je nage...
Merci de m'éclairer.




A voir également:

19 réponses

Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
12 déc. 2013 à 14:58
ci joint le fichier que je tente de faire https://www.cjoint.com/c/CLmo4Vookxv
0
PHILOU10120 Messages postés 6394 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 janvier 2025 811
12 déc. 2013 à 15:04
Bonjour Jcarl
Voilà la macro pour ôter la protection et la remettre

sub trie()

'déprotéger la feuille en début de macro, avec ces lignes de commande

Sheets("votre feuille").Select
ActiveSheet.Unprotect Password:="votre mot de passe"
Range("B10:O45").Select
Selection.Sort Key1:=Range("B10"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B10").Select
'remettre la protection à la fin de la macro
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
Modifié par Vaucluse le 12/12/2013 à 15:25
Bonjour tous

vous avez raison Philou, toutefois:

Activesheet.Unprotect "mot de passe"

suffit, le reste se fait par défaut

Et pour rester logique, il faut rajouter le mot de passe à la fin

Activesheet.protect "mot de passe"

s"il y en a un bien sur

Petite question: chez moi la protection propose l'option autoriser le tri si on coche dans la, liste, mais cela ne fonctionne pas une fois la feuille protégée. Chez vous ça se passe comment?

crdlmnt

Errare humanum est, perseverare diabolicum
0
PHILOU10120 Messages postés 6394 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 janvier 2025 811
12 déc. 2013 à 15:55
Même problème quand la feuille est protégée on ne peut pas trier, alors que j'ai bien coché tri.
Ok pour la protection avec mot de passe, j'ai l'habitude de juste protéger pour éviter d'écraser les formules, et je ne mets pas de mot de passe, Vaucluse tu as entièrement raison pour remettre la protection.
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
12 déc. 2013 à 15:36
Bonjour le fil,

C'est joli de mettre à notre disposition un fichier mais ou est le mot de passe pour accéder à la feuille ?
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
12 déc. 2013 à 16:38
le mot de passe est visible en en J4
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
12 déc. 2013 à 16:40
merci beaucoup PHILOU10120 cela a parfaitement fonctionné mais je n'ai toujours pas compris...

merci
0
PHILOU10120 Messages postés 6394 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 janvier 2025 811
12 déc. 2013 à 17:36
Le raisonnement la macro enlève la protection puis exécute le tri et finalement remets la protection
donc on se retrouve en fin de macro comme on était ou début avec une feuille protégée et le tri fait.
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
12 déc. 2013 à 17:39
j'entends bien c'est l'idée simple et génial que vous avez eu mais pourquoi au départ le tri ne fonctionne pas alors que l'autre macro fonctionne
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié par Mike-31 le 12/12/2013 à 17:51
Re,

sans toucher aux protections, coller ce code dans un module et l'activer
le tri se fera par la suite sous protection sans problème


Sub tri()
Worksheets("Feuil3").Unprotect Password:="tout"
Worksheets("Feuil3").Protect Password:="tout", UserInterfaceOnly:=True, _
AllowFiltering:=True, AllowUsingPivotTables:=True, AllowSorting:=True
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
12 déc. 2013 à 20:40
re bonjour est-il possible dans ma feuille de calcul de faire une macro qui renverrais le fichier (rempli) a mon adresse mail
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
12 déc. 2013 à 22:14
Re,

Oui bien sur, mais quel serait le critère déclenchant, un bouton, une saisie dans une cellule ?
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
13 déc. 2013 à 09:35
Re,

peux tu remettre ton fichier en ligne, ton lien n'est plus actif.

je te placerai la macro qui permet le tri sous protection
et l'envoi l'envoi de la feuille par mail
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
13 déc. 2013 à 10:16
bonjour et encore plein de merci

https://www.cjoint.com/c/CLnkoj8BGOr
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
13 déc. 2013 à 10:24
pour ce qui est du tri cela fonctionne c'est pour cette raison que dans un premier temps j'ai mis le problème résolu ... et fait un nouveau sujet mais comme personne ne répondait je me suis permit de revenir vers toi.
si tu habites du coté de Liège je t'enverrais une invitation quand les petites fond leur gymnastique .. (concours GRS)
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
13 déc. 2013 à 10:26
Re,

Merci pour l'invitation, mais Liège est un peu loin, je suis région Toulousaine.
Je te regarde le fichier et te le retourne
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié par Mike-31 le 13/12/2013 à 11:26
Re,

récupère ton fichier que j'ai modifié à ma manière et qui travaille sous protection avec le mot de passe "tout"
va dans le module2 et recherche en début de code ces 3 lignes que tu dois renseigner entre guillemets
la première ligne adresse destinataire
deuxième ligne éventuellement adresse expéditeur
et troisième saisir le SMTP du fournisseur d'accès

Const Dest As Variant = "jc.bortoletto@gmail.com" '- adresse mail du destinataire
Const Exped As Variant = "www.xxxxxxx@free.fr" '----- adresse mail de l'expéditeur
Const C_Ent As Variant = "SMTP.free.fr" '---------------- adresse du SMTP"

pour un envoi anonyme mettre l'adresse destinataire
Const BCC As Variant = "" '-------------------------- adresse mail destinataire pour envoi BCC ou BCI ou CCI

pour tester utilise mes trois boutons, et si tu préfère recevoir le fichier en PDF il suffit de me le dire

https://www.cjoint.com/c/CLnlzh7GjGt

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
13 déc. 2013 à 15:56
Là, je suis bouche beee, et forcement nul en regard de ta macro.

Apparemment je n'arrive pas faire fonctionner le bouton envoi.

-Le destinataire c'est moi OK
-l'adresse de l'expéditeur pose problème, en fait j'ai cinq entraîneurs qui tardent toujours a me renvoyer les présences et donc je pensais facilité en automatisant le doc qu'ils doivent me renvoyer, mais bien sûr ils on chacun des adresses différentes.
-SMTP est en rapport avec leur adresse ?
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
13 déc. 2013 à 16:03
Re,

à partir de leur adresse on peut automatiser le SMTP,

pour modifier le code il me faut simplement la liste des fournisseurs d'accès comme FREE, ORANGE etc

as tu correctement saisi dans les constantes entre guillemets ton adresse et toujours entre guillemet ton SMTP. Si oui il ne doit pas y avoir de problème

quel est ton fournisseur d'accès internet
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
Modifié par Jcarl le 13/12/2013 à 16:11
moi c'est Gmail => spmt.gmail.com
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
13 déc. 2013 à 16:53
apparement cela ce limiterai à
hotmail.fr
hotmail.com
hotmail.be
gmail.com
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié par Mike-31 le 13/12/2013 à 22:48
Re,

pour ne pas faire d'erreur, remplace le code du module 2 par celui ci, j'ai rajouté une constante pour le numéro de port qui normalement pour Gmail est le 465
renseigne dans le code la constante que j'ai mis en gras avec l'adresse du destinataire et teste


Const Dest As Variant = "wwwwwww.ww@free.fr" '- adresse mail du destinataire

https://www.cjoint.com/c/CLnwREIOIjo

pour le SMTP Hotmail il faudra contrôler, je crois qu'il n'en existe qu'un SMTP.live.com par contre il existe plusieurs port 25 ou 587 et 995 si tu peux te renseigner auprès des différents expéditeurs


A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
13 déc. 2013 à 23:13
c'est pas possible je repart a zero

https://www.cjoint.com/c/CLnxfxx3FXx


Avec le doc tel qu'il est, cela fonctionne à moitié.
Quand je clique sur le bouton envoie, la messagerie s'ouvre et attend que je tape l'adresse alors que mon adresse devrait simplement être inscrite par défaut c'est tout.
Je ne comprends plus rien ...
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
14 déc. 2013 à 14:20
Re,

regarde si le fichier te va

https://www.cjoint.com/c/CLoouCVgNJ5
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
14 déc. 2013 à 16:26
Re,

Et bien voila qui marche, j'ai reçu sur une adresse de secours le fichier,

dans le module 1 mettre ton adresse mail et c'est tout bon

ActiveWorkbook.SendMail Recipients:="jc.bortoletto@gmail.com"
0
Jcarl Messages postés 129 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 20 mai 2019 1
14 déc. 2013 à 16:32
Merci beaucoup cela va j'espère incité les entraîneurs a être plus sérieux pour les présences ils « disent » que cela prend trop de temps.
J'espère qu'ils ne seront pas effrayés par le message d'avertissement pour envoi automatique, mais je suppose qu'il n'y a pas d'autre solution.
Moi j'estime que c'est déjà parfait

Merci encore
Jean-Charles

Pour le cercle gymnique : Enfants du Peuple de Saint-Nicolas (Liège, Belgique)
0