Verrouiller une cellule en fonction de sa propre valeur
Résolu/Fermé
AndGu
Messages postés
7
Date d'inscription
jeudi 25 janvier 2018
Statut
Membre
Dernière intervention
26 janvier 2018
-
Modifié le 25 janv. 2018 à 15:14
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 26 janv. 2018 à 00:42
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 26 janv. 2018 à 00:42
A voir également:
- Verrouiller une cellule en fonction de sa propre valeur
- Verrouiller cellule excel - Guide
- Fonction si et - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
2 réponses
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
25 janv. 2018 à 16:15
25 janv. 2018 à 16:15
Bonjour
Un petit exemple
https://www.cjoint.com/c/HAzppJ6OWtB
Cdlmnt
Un petit exemple
https://www.cjoint.com/c/HAzppJ6OWtB
Cdlmnt
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
25 janv. 2018 à 19:11
25 janv. 2018 à 19:11
Bonjour,
une autre approche sans protéger la feuille.
https://www.cjoint.com/c/HAzskGrmYgb
eric
une autre approche sans protéger la feuille.
https://www.cjoint.com/c/HAzskGrmYgb
eric
AndGu
Messages postés
7
Date d'inscription
jeudi 25 janvier 2018
Statut
Membre
Dernière intervention
26 janvier 2018
25 janv. 2018 à 20:24
25 janv. 2018 à 20:24
L'idée est sympa et éviter le pop-up ça m'intéresse bien.
Par contre, j'aurais besoin que ça fonctionne pour tout le classeur.
J'ignore pourquoi mais le 1er "x" (en C2) n'est jamais sélectionnable.
Merci
Par contre, j'aurais besoin que ça fonctionne pour tout le classeur.
J'ignore pourquoi mais le 1er "x" (en C2) n'est jamais sélectionnable.
Merci
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié le 25 janv. 2018 à 20:39
Modifié le 25 janv. 2018 à 20:39
J'ignore pourquoi mais le 1er "x" (en C2) n'est jamais sélectionnable.
Ben oui, c'est ça le truc. Si tu ne peux le sélectionner, tu ne peux pas le modifier ! :-)
Met un 1 A2 et tu pourras le modifier. Comme tu ne donnes aucun détail précis ça concerne toute la ligne.
Pour toutes les feuilles, dans thisworkbook :
eric
Ben oui, c'est ça le truc. Si tu ne peux le sélectionner, tu ne peux pas le modifier ! :-)
Met un 1 A2 et tu pourras le modifier. Comme tu ne donnes aucun détail précis ça concerne toute la ligne.
Pour toutes les feuilles, dans thisworkbook :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If LCase(Target) = "x" And Sh.Cells(Target.Row, 1) <> 1 Then Target.Offset(, 1).Select End Sub
eric
AndGu
Messages postés
7
Date d'inscription
jeudi 25 janvier 2018
Statut
Membre
Dernière intervention
26 janvier 2018
25 janv. 2018 à 22:25
25 janv. 2018 à 22:25
Oups, désolé Eric. Je n'avais pas compris que c'était par ligne. Je pensais que le "1" en A3 était sensé influencer tout le tableau.
Tu penses pouvoir faire en sorte que "autoriser modif" soit concentré sur une seule cellule ?
J'exploite ton savoir jusqu'au bout ;) Sinon pas de soucis, je masquerai une colonne.
Merci :)
Tu penses pouvoir faire en sorte que "autoriser modif" soit concentré sur une seule cellule ?
J'exploite ton savoir jusqu'au bout ;) Sinon pas de soucis, je masquerai une colonne.
Merci :)
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié le 25 janv. 2018 à 22:55
Modifié le 25 janv. 2018 à 22:55
Va falloir à apprendre à être précis... A chaque détail non fourni on improvise et peu de chance que ce soit exactement ce que tu avais en tête.
1 par feuille ou 1 pour tout le classeur ?
avec A1 de chaque feuille :
Tu pourrais même mettre une case à cocher 'Autoriser corrections' et exploiter le VRAI de la cellule liée :
1 par feuille ou 1 pour tout le classeur ?
avec A1 de chaque feuille :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If LCase(Target) = "x" And Sh.[A1] <> 1 Then Target.Offset(, 1).Select End Sub
Tu pourrais même mettre une case à cocher 'Autoriser corrections' et exploiter le VRAI de la cellule liée :
If LCase(Target) = "x" And Sh.[A1] Then Target.Offset(, 1).Select
AndGu
Messages postés
7
Date d'inscription
jeudi 25 janvier 2018
Statut
Membre
Dernière intervention
26 janvier 2018
25 janv. 2018 à 23:42
25 janv. 2018 à 23:42
Une cellule par feuille, désolé. Pas toujours évident de décrire tout ce qu'on a en tête tant ça parait évident quand on est dans le contexte.
Petit détail, à chaque fois que je sélectionne plusieurs cases, j'ai un pop-up de VB : "erreur d'execution '7' : mémoire insuffisante".
Peut-on y remédier ?
Mis à part ce détail, c'est parfait !!!
Petit détail, à chaque fois que je sélectionne plusieurs cases, j'ai un pop-up de VB : "erreur d'execution '7' : mémoire insuffisante".
Peut-on y remédier ?
Mis à part ce détail, c'est parfait !!!
Modifié le 25 janv. 2018 à 19:00
Sans vouloir abuser :
- Serait-il possible de rendre la macro active sur tout le classeur ?
J'ai également quelques petites questions :
- Peut-on ajouter une autre condition de blocage ? (je pense à la majuscule)
- Vous avez utilisé le "ctrl+d" pour annuler le blocage (et ça fonctionne bien) mais est-il envisageable de créer une condition dans une cellule ? => if A1 = 1 then lock else unlock
- Serait-il possible que vous ajoutiez les explications des différentes étapes de VB ? Comme je l'ai expliqué, je suis autodidacte... j'aime bien comprendre. Parce que votre macro est géniale mais je suis clairement largué là.
D'avance merci :)
25 janv. 2018 à 22:29
PS: si vous avez le temps, je suis toujours preneur pour une réponse à mes questions... par curiosité ;)