Macro et protection feuille
Résolu
Jcarl
Messages postés
129
Date d'inscription
Statut
Membre
Dernière intervention
-
Jcarl Messages postés 129 Date d'inscription Statut Membre Dernière intervention -
Jcarl Messages postés 129 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Macro et protection feuille
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- K9 web protection - Télécharger - Contrôle parental
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Feuille a5 - Guide
19 réponses
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
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
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
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
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.
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.
Bonjour le fil,
C'est joli de mettre à notre disposition un fichier mais ou est le mot de passe pour accéder à la feuille ?
C'est joli de mettre à notre disposition un fichier mais ou est le mot de passe pour accéder à la feuille ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci beaucoup PHILOU10120 cela a parfaitement fonctionné mais je n'ai toujours pas compris...
merci
merci
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.
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.
re bonjour est-il possible dans ma feuille de calcul de faire une macro qui renverrais le fichier (rempli) a mon adresse mail
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
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
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)
si tu habites du coté de Liège je t'enverrais une invitation quand les petites fond leur gymnastique .. (concours GRS)
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
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
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.
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.
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 ?
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 ?
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
à 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
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.
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.
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 ...
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 ...
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"
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"
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)
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)