Où mettre Unprotect et Protect
Résolu/Fermé
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
-
21 juin 2017 à 20:14
Nai Messages postés 703 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 7 mars 2023 - 25 juin 2017 à 17:59
Nai Messages postés 703 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 7 mars 2023 - 25 juin 2017 à 17:59
3 réponses
f894009
Messages postés
16905
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 mars 2023
1 679
25 juin 2017 à 09:36
25 juin 2017 à 09:36
Bonjour,
Suite
Fichier avec controle de doublon avant mise en tableaux
https://mon-partage.fr/f/MfrsJrM3/
Suite
Fichier avec controle de doublon avant mise en tableaux
https://mon-partage.fr/f/MfrsJrM3/
jordane45
Messages postés
37264
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 mars 2023
4 548
21 juin 2017 à 20:42
21 juin 2017 à 20:42
Bonjour,
il te suffit de retirer la protection de la feuille au début de ta macro.. et de la remettre à la fin.
Nous ne pouvons pas tester.. la feuille étant actuellement protégée et n'ayant pas le password....
il te suffit de retirer la protection de la feuille au début de ta macro.. et de la remettre à la fin.
Nous ne pouvons pas tester.. la feuille étant actuellement protégée et n'ayant pas le password....
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
21 juin 2017 à 21:16
21 juin 2017 à 21:16
Ah mince, le projet n'est pas protégé pourtant ^^
Le mdp est : alsh
J'ai essayé, ça n'a pas fonctionné :/
Merci de l'aide ;)
Le mdp est : alsh
J'ai essayé, ça n'a pas fonctionné :/
Merci de l'aide ;)
jordane45
Messages postés
37264
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 mars 2023
4 548
21 juin 2017 à 21:33
21 juin 2017 à 21:33
Pourtant ... ça semble parfaitement fonctionner :
et à la fin.. avant le end sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim cellule_première_ligne As Range, ligne As Range Dim Tinfos() As String, copie() Dim xl As Excel.Application Dim i1 As Integer, i2 As Integer, i3 As Integer Sheets("Tableau baignade").Unprotect ("alsh")
et à la fin.. avant le end sub
End If Sheets("Tableau baignade").protect Password:="alsh", DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
21 juin 2017 à 23:59
21 juin 2017 à 23:59
Je ne comprend pas :/
Je pensais que le problème pouvait venir du fait que j'utilise ActiveSheet.Unprotect, mais non. Même en utilisant ton code, le deboggeur hurle ici :
dans "ajouter au tableau 3"
Constates-tu des différences entre ton exemple et ce fichier : https://www.cjoint.com/c/GFvv6VsJuNM ?
Je pensais que le problème pouvait venir du fait que j'utilise ActiveSheet.Unprotect, mais non. Même en utilisant ton code, le deboggeur hurle ici :
ligne.Resize(, UBound(Tinfos) + 1).Value = xl.Transpose(xl.Transpose(Tinfos))
dans "ajouter au tableau 3"
Constates-tu des différences entre ton exemple et ce fichier : https://www.cjoint.com/c/GFvv6VsJuNM ?
jordane45
Messages postés
37264
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 mars 2023
4 548
>
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
22 juin 2017 à 00:08
22 juin 2017 à 00:08
N'ayant pas le fichier bdd.xls je ne peux pas correctement tester.
Par contre... ton code contient quelques anoamies je pense....
par exemple .. à quoi servent les lignes :
Ce code fait que ça relance à nouveau la procédure Worksheet_SelectionChange
A ce moment là .. ton tu n'entres pas dans ton IF ..
Donc la ligne
doivent, en effet, te cracher une erreur !
Corrige déjà ça .... puis lance ton code en mode pas à pas (en mettant un point d'arrêt au début de la sub par exemple) pour voir ce qui se passe et pourquoi cela "plante".
Par contre... ton code contient quelques anoamies je pense....
par exemple .. à quoi servent les lignes :
ligne.Select
Ce code fait que ça relance à nouveau la procédure Worksheet_SelectionChange
A ce moment là .. ton tu n'entres pas dans ton IF ..
Donc la ligne
Set ligne = cellule_première_ligne.Resize(, .Columns.Count)n'est pas exécuté.... et donc les lignes de code suivantes :
ligne.Resize(, UBound(Tinfos) + 1).Value = xl.Transpose(xl.Transpose(Tinfos)) ligne.Columns(4).FormulaR1C1 = "=IF(RC[-1]<>"""",DATEDIF(RC[-1],R7C4,""y""),"""")"
doivent, en effet, te cracher une erreur !
Corrige déjà ça .... puis lance ton code en mode pas à pas (en mettant un point d'arrêt au début de la sub par exemple) pour voir ce qui se passe et pourquoi cela "plante".
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
>
jordane45
Messages postés
37264
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 mars 2023
22 juin 2017 à 00:24
22 juin 2017 à 00:24
En effet :O La suppression de cette ligne résous une partie du problème.
Par contre, je ne parviens plus à supprimer les enfants...
J'ai comme qui dirait l'impression que cette macro est bien trop longue pour que je puisse la comprendre entièrement...
Ton aide est d'autant plus précieuse :)
Voici la base de données : https://www.cjoint.com/c/GFvwv0LoEnM
J'ai constaté l'impossibilité de sélectionner D7:D12 pour "ne pas protéger ces cellules". Dès que je sélectionne la plage, la feuille se protège :O
Par contre, je ne parviens plus à supprimer les enfants...
J'ai comme qui dirait l'impression que cette macro est bien trop longue pour que je puisse la comprendre entièrement...
Ton aide est d'autant plus précieuse :)
Voici la base de données : https://www.cjoint.com/c/GFvwv0LoEnM
J'ai constaté l'impossibilité de sélectionner D7:D12 pour "ne pas protéger ces cellules". Dès que je sélectionne la plage, la feuille se protège :O
f894009
Messages postés
16905
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 mars 2023
1 679
Modifié le 23 juin 2017 à 10:50
Modifié le 23 juin 2017 à 10:50
Bonjour a Tous,
Nai:
Peut-être le problème vient-il d'une protection ailleurs ?
Non, c'est un probleme d'appel recursif de cette procedure
lie a
et plus etrange
une selection intempestive de la cellule F26 que je ne m'explique pas
J'ai donc mis les lignes
et utilise Application.EnableEvents false/true pour eviter ces desagrements.
fichier modifie pour prot/unprot: https://mon-partage.fr/f/5CAagWeI/
j'ai laisse votre principe de protection
Il est possible de mettre x fois le meme nom dans un tableau et ce meme nom dans les autres tableaux!!!!!!!!!!!!!!!! Normal ou pas ?????
L'utilisation de votre fichier est un peu sensible
Nai:
Peut-être le problème vient-il d'une protection ailleurs ?
Non, c'est un probleme d'appel recursif de cette procedure
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lie a
ligne.Selectet l'ecriture des cellules pour le message ex:
Range("A25") = "Sélectionnez le NOM de l'enfant pour le supprimer" et Range("A25") = Empty
et plus etrange
une selection intempestive de la cellule F26 que je ne m'explique pas
J'ai donc mis les lignes
ligne.Selecten commentaire car pas utiles
et utilise Application.EnableEvents false/true pour eviter ces desagrements.
fichier modifie pour prot/unprot: https://mon-partage.fr/f/5CAagWeI/
j'ai laisse votre principe de protection
Il est possible de mettre x fois le meme nom dans un tableau et ce meme nom dans les autres tableaux!!!!!!!!!!!!!!!! Normal ou pas ?????
L'utilisation de votre fichier est un peu sensible
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
Modifié le 23 juin 2017 à 13:04
Modifié le 23 juin 2017 à 13:04
Salut ! Merci pour ce message ! Le prot/unprot fonctionne nickel, mais j'ai un soucis avec la ListBox1 qui rétrécie à chaque nouvelle recherche :O J'ai beau l'éditer en mode création, elle se rétrécie toujours :/
Il est possible de mettre x fois le meme nom dans un tableau et ce meme nom dans les autres tableaux!!!!!!!!!!!!!!!! Normal ou pas ?????
Oui et non lol S'il est possible de l'interdire, c'est mieux, mais en pratique le directeur devrait vite se rendre compte que le nombre d'enfant sur les tableaux ne correspond pas au réel lol. J'envisage de ne plus prendre en compte la base de données pour cette feuille, mais plutôt les données des enfants de la feuille "Réel".
L'utilisation de votre fichier est un peu sensible
Ah ! Voilà une remarque intéressante ! L'objectif premier de ce fichier est de rendre son utilisation simple et intuitif. Qu'entendez-vous par "sensible" ?
Il est possible de mettre x fois le meme nom dans un tableau et ce meme nom dans les autres tableaux!!!!!!!!!!!!!!!! Normal ou pas ?????
Oui et non lol S'il est possible de l'interdire, c'est mieux, mais en pratique le directeur devrait vite se rendre compte que le nombre d'enfant sur les tableaux ne correspond pas au réel lol. J'envisage de ne plus prendre en compte la base de données pour cette feuille, mais plutôt les données des enfants de la feuille "Réel".
L'utilisation de votre fichier est un peu sensible
Ah ! Voilà une remarque intéressante ! L'objectif premier de ce fichier est de rendre son utilisation simple et intuitif. Qu'entendez-vous par "sensible" ?
f894009
Messages postés
16905
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 mars 2023
1 679
>
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
23 juin 2017 à 13:47
23 juin 2017 à 13:47
Re,
Qu'entendez-vous par "sensible" ?
A la moindre anomalie dans Table baignade, il faut systematiquement fermer et rouvrir le fichier.Pour le reste je n'ai pas regarde
Il faudrait que la listbox soit invisible si textbox vide, ca arrangerait un peu
S'il est possible de l'interdire, c'est mieux,
Tout est possible, suffit de le vouloir
O J'ai beau l'éditer en mode création, elle se rétrécie toujours :/
Je regarde la chose
Qu'entendez-vous par "sensible" ?
A la moindre anomalie dans Table baignade, il faut systematiquement fermer et rouvrir le fichier.Pour le reste je n'ai pas regarde
Il faudrait que la listbox soit invisible si textbox vide, ca arrangerait un peu
S'il est possible de l'interdire, c'est mieux,
Tout est possible, suffit de le vouloir
O J'ai beau l'éditer en mode création, elle se rétrécie toujours :/
Je regarde la chose
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
>
f894009
Messages postés
16905
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 mars 2023
Modifié le 23 juin 2017 à 20:10
Modifié le 23 juin 2017 à 20:10
A la moindre anomalie dans Table baignade, il faut systematiquement fermer et rouvrir le fichier.
En fait, il suffit de relancer Workbook2_Open. J'ai mis un bouton "Recharger" pour la relancer :)
Tout est possible, suffit de le vouloir
C'est en effet quelque chose que je voudrais. Mais je pense d'abord modifier la source de données de cette feuille. En effet, dans le cas de ce tableau de baignade il est inutile de charger toute la base de données, seuls les enfants du tableau "Réel" importent. J'envisagerais l'impossibilité d'ajouter deux fois le même enfant après avoir modifié cela. Ceci sera d'ailleurs mon projet sujet :)
Encore et toujours merci pour l'aide !
EDIT: Pour la taille de la ListBox, j'ai trouvé ceci : https://forums.commentcamarche.net/forum/affich-19525091-vba-aide-pour-bloquer-taille-listbox mais reste sans réponse :/ J'ai trouvé très peu de chose à ce sujet :/
En fait, il suffit de relancer Workbook2_Open. J'ai mis un bouton "Recharger" pour la relancer :)
Tout est possible, suffit de le vouloir
C'est en effet quelque chose que je voudrais. Mais je pense d'abord modifier la source de données de cette feuille. En effet, dans le cas de ce tableau de baignade il est inutile de charger toute la base de données, seuls les enfants du tableau "Réel" importent. J'envisagerais l'impossibilité d'ajouter deux fois le même enfant après avoir modifié cela. Ceci sera d'ailleurs mon projet sujet :)
Encore et toujours merci pour l'aide !
EDIT: Pour la taille de la ListBox, j'ai trouvé ceci : https://forums.commentcamarche.net/forum/affich-19525091-vba-aide-pour-bloquer-taille-listbox mais reste sans réponse :/ J'ai trouvé très peu de chose à ce sujet :/
f894009
Messages postés
16905
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 mars 2023
1 679
>
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
23 juin 2017 à 21:50
23 juin 2017 à 21:50
Re
Pour la listbox, pas besoin de code, je vous enverrai le fichier demain. Je regarde pour les nageurs uniques. Le bouton recharger ne règle pas tous les problemes
Pour la listbox, pas besoin de code, je vous enverrai le fichier demain. Je regarde pour les nageurs uniques. Le bouton recharger ne règle pas tous les problemes
Nai
Messages postés
703
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
7 mars 2023
54
>
f894009
Messages postés
16905
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 mars 2023
23 juin 2017 à 21:58
23 juin 2017 à 21:58
D'accord. Merci beaucoup !
A demain donc :)
A demain donc :)
25 juin 2017 à 17:59
J'ai personnalisé le message d'erreur.
Me reste plus qu'à modifier la base de données pour le tableau de baignade et, en effet, à rendre le fichier moins sensible ^^
Encore merci !