Macro excel blocage cellule et format
Résolu
ciel2505
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis controleur de gestion.
Pourriez vous m'aider svp?
1/ si je mets une croix dans une cellule de la colonne L je ne peux en mettre une dans la cellule correspondante (voisine) colonne M.
2/ si je mets une croix dans une cellule de la colonne M je ne peux en mettre une dans la cellule (voisine) correspondante colonne L.
3/ colonne P: la cellule ne peut être remplie que si on a une croix dans la colonne L + si l'utilisateur n'applique pas la regle du format DD/MM/YYYY-DD/MM/YYYY doit apparaitre un message d'erreur "error format" + impossibilité de noter qq chose dans la cellule correspondante (voisine) de la colonne Q
4/ colonne Q: la cellule ne peut être remplie que si on a une croix dans la colonne M + si l'utilisateur n'applique pas la regle du format DD/MM/YYYY doit apparaitre un message d'erreur "error format" + impossibilité de noter qq chose dans la cellule correspondante (voisine) de la colonne P
En vous remerciant pour votre aide
Je suis controleur de gestion.
Pourriez vous m'aider svp?
1/ si je mets une croix dans une cellule de la colonne L je ne peux en mettre une dans la cellule correspondante (voisine) colonne M.
2/ si je mets une croix dans une cellule de la colonne M je ne peux en mettre une dans la cellule (voisine) correspondante colonne L.
3/ colonne P: la cellule ne peut être remplie que si on a une croix dans la colonne L + si l'utilisateur n'applique pas la regle du format DD/MM/YYYY-DD/MM/YYYY doit apparaitre un message d'erreur "error format" + impossibilité de noter qq chose dans la cellule correspondante (voisine) de la colonne Q
4/ colonne Q: la cellule ne peut être remplie que si on a une croix dans la colonne M + si l'utilisateur n'applique pas la regle du format DD/MM/YYYY doit apparaitre un message d'erreur "error format" + impossibilité de noter qq chose dans la cellule correspondante (voisine) de la colonne P
En vous remerciant pour votre aide
A voir également:
- Macro excel blocage cellule et format
- Format epub - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Format factory - Télécharger - Conversion & Codecs
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
7 réponses
Bonjour,
1/ que fait on si je saisis un autre caractère que "x" dans L ou M ,
2/ si je me suis trompé (par ex "x" dans L au lieu de M) et/ou en 2° étape après le message d'erreur suite à un mauvais format ?
En résumé, comment ré-initialiser (tout ou par étape)? puisque des cellules sont condamnées
Pas simple!
1/ que fait on si je saisis un autre caractère que "x" dans L ou M ,
2/ si je me suis trompé (par ex "x" dans L au lieu de M) et/ou en 2° étape après le message d'erreur suite à un mauvais format ?
En résumé, comment ré-initialiser (tout ou par étape)? puisque des cellules sont condamnées
Pas simple!
Bonjour,
Ce que tu cherche n'est pas facile à faire.
1°) Sélectionner les colonnes M et P
2°) Clic droit >> Format cellules >> Protection >> et décocher Verrouiller
3°) Outils >> Protection >> Protéger la feuille (pas mettre de mot de passe)
4°) clic droit sur l'onglet de la feuille >> Visualiser le code.
4°) Dans la fenêtre coller le code ci-dessous
Il y a moyen d'être encore plus précis mais c'est une piste, à toi de l'améliorer.
A+
Note : pour mettre des double date dans les colonnes P et G tu doit les configurer avec le format texte.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ce que tu cherche n'est pas facile à faire.
1°) Sélectionner les colonnes M et P
2°) Clic droit >> Format cellules >> Protection >> et décocher Verrouiller
3°) Outils >> Protection >> Protéger la feuille (pas mettre de mot de passe)
4°) clic droit sur l'onglet de la feuille >> Visualiser le code.
4°) Dans la fenêtre coller le code ci-dessous
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TB
Application.EnableEvents = False
ActiveSheet.Unprotect
If Not Intersect(Target, Columns("L")) Is Nothing Then
'bloque/débloque la cellule M
Target.Offset(0, 1).Locked = UCase(Target) = "X"
If UCase(Target) = "X" Then
Target.Offset(0, 4).Locked = False
Target.Offset(0, 4).Select
End If
ElseIf Not Intersect(Target, Columns("M")) Is Nothing Then
'bloque/débloque la cellule L
Target.Offset(0, -1).Locked = UCase(Target) = "X"
If UCase(Target) = "X" Then
Target.Offset(0, 4).Locked = False
Target.Offset(0, 4).Select
End If
ElseIf Not Intersect(Target, Columns("P")) Is Nothing Then
'vérifier les conditions et éventuellement afficher un message
TB = Split(Target, "-")
If UBound(TB) <> 1 Then
MsgBox "Vous devez entrer les dates sous le format JJ/MM/AAAA-JJ/MM/AAAA"
Target = ""
ElseIf Not (IsDate(TB(0)) Or IsDate(TB(1))) Then
MsgBox "Vous devez entrer les dates sous le format JJ/MM/AAAA-JJ/MM/AAAA"
Target = ""
End If
End If
ActiveSheet.Protect
Application.EnableEvents = True
End Sub
Il y a moyen d'être encore plus précis mais c'est une piste, à toi de l'améliorer.
A+
Note : pour mettre des double date dans les colonnes P et G tu doit les configurer avec le format texte.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
1/ si je mets une croix dans une cellule de la colonne L je ne peux en mettre une dans la cellule correspondante (voisine) colonne M.
????
Tu n'a pas suivi l'ordre des opérations à effectuer ???
Recommence avec un nouveau classeur
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
????
Tu n'a pas suivi l'ordre des opérations à effectuer ???
Recommence avec un nouveau classeur
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
tu n'a pas fait...
2°) Clic droit >> Format cellules >> Protection >> et décocher Verrouiller
AVANT DE VERROUILLER.
Si tu ne sais pas suivre des explications détaillées je ne vois pas comment on va pouvoir se comprendre.
Voir c'est Exemple
2°) Clic droit >> Format cellules >> Protection >> et décocher Verrouiller
AVANT DE VERROUILLER.
Si tu ne sais pas suivre des explications détaillées je ne vois pas comment on va pouvoir se comprendre.
Voir c'est Exemple
pardon c vrai que moi j'ai le fichier devant moi
ça je ne le retrouve pas dans la macro?
4/ colonne Q: la cellule ne peut être remplie que si on a une croix dans la colonne M + si l'utilisateur n'applique pas la regle du format DD/MM/YYYY doit apparaitre un message d'erreur "error format" + impossibilité de noter qq chose dans la cellule correspondante (voisine) de la colonne P
En vous remerciant pour votre aide
ça je ne le retrouve pas dans la macro?
4/ colonne Q: la cellule ne peut être remplie que si on a une croix dans la colonne M + si l'utilisateur n'applique pas la regle du format DD/MM/YYYY doit apparaitre un message d'erreur "error format" + impossibilité de noter qq chose dans la cellule correspondante (voisine) de la colonne P
En vous remerciant pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Merci mais ça ne fctionne pas
si je mets x en cellule L5 (mes enonces vt de lignes 1 à 4) je reussis à mettre x en cellule M5 et vice versa
si je mets un format date faux apparemment la colonne Q le prend
si je mets une croix sans L5 j'arrive quand meme à rentrer une date dans Q alors que je devrais ne pouvoir que la rentrer dans P
si je mets une croix dans M5 j'arrive quand meme à rentrer une date dans P alors que je ne devrais pouvoir la rentrer que dans Q
j'en peux plus de cette macro ;-)
je veux un cerveau macro!
Merci mais ça ne fctionne pas
si je mets x en cellule L5 (mes enonces vt de lignes 1 à 4) je reussis à mettre x en cellule M5 et vice versa
si je mets un format date faux apparemment la colonne Q le prend
si je mets une croix sans L5 j'arrive quand meme à rentrer une date dans Q alors que je devrais ne pouvoir que la rentrer dans P
si je mets une croix dans M5 j'arrive quand meme à rentrer une date dans P alors que je ne devrais pouvoir la rentrer que dans Q
j'en peux plus de cette macro ;-)
je veux un cerveau macro!
Bonjour le Forum,
Moi aussi de suis ... à la retraite.
J'ai rapidement compris qu'il fallait appliquer quelques règles fondamentales avec l'utilisateur lambda pour éviter de nombreux problèmes, en particulier quand on reçoit de nombreux fichiers de différentes sources :
- ne jamais mettre de macro dans les fichiers utilisateurs
- demander des informations simples (éviter toute syntaxe particulière)
- utiliser la puissance de calcul d'Excel pour transformer ces informations
- protéger les feuilles de calcul (sans mot de passe, ça ne sert qu'à être oublié)
- définir le format numérique des valeurs à saisir, notamment des dates.
- utiliser des formules qui laissent des libertés à l'utilisateur, beaucoup de SI() et N()
- utiliser la validation des données chaque fois que c'est utile pour :
----- afficher un message d'information pour la saisie
----- contrôler l'information saisie et afficher le message d'erreur éventuel
Donc pour répondre aux question :
1) en L2 : Données / Validation / Personnalisé / Formule : =M2<>"x"
2) en M2 : Données / Validation / Personnalisé / Formule : =L2<>"x"
3) en P2 : Données / Validation / Date ou Personnalisé ....
4) idem
Cordialement
Patrice
Moi aussi de suis ... à la retraite.
J'ai rapidement compris qu'il fallait appliquer quelques règles fondamentales avec l'utilisateur lambda pour éviter de nombreux problèmes, en particulier quand on reçoit de nombreux fichiers de différentes sources :
- ne jamais mettre de macro dans les fichiers utilisateurs
- demander des informations simples (éviter toute syntaxe particulière)
- utiliser la puissance de calcul d'Excel pour transformer ces informations
- protéger les feuilles de calcul (sans mot de passe, ça ne sert qu'à être oublié)
- définir le format numérique des valeurs à saisir, notamment des dates.
- utiliser des formules qui laissent des libertés à l'utilisateur, beaucoup de SI() et N()
- utiliser la validation des données chaque fois que c'est utile pour :
----- afficher un message d'information pour la saisie
----- contrôler l'information saisie et afficher le message d'erreur éventuel
Donc pour répondre aux question :
1) en L2 : Données / Validation / Personnalisé / Formule : =M2<>"x"
2) en M2 : Données / Validation / Personnalisé / Formule : =L2<>"x"
3) en P2 : Données / Validation / Date ou Personnalisé ....
4) idem
Cordialement
Patrice
Michel, cette réponse est destinée à ciel 2505 je n'ai fait que recopier ici ma réponse faite dans ce post :
https://forums.commentcamarche.net/forum/affich-21184746-excel-signer-un-montant-negatif-automatiquement#4
Ce sont des conseils avisés, destinés au « contrôleur de gestion »
https://forums.commentcamarche.net/forum/affich-21184746-excel-signer-un-montant-negatif-automatiquement#4
Ce sont des conseils avisés, destinés au « contrôleur de gestion »
Si ont vide la cellule (exemple M ) les deux possibilités sont accessibles.
Édit : Et l'indexation des postes sur CCM n'est pas pour rendre la lecture aisée.
effectivement l'indexation n'est pas terrible sur CCM
comme le problème était intéressant, j'ai fini par faire pour moi (vis à vis de ciel) une bidouille qui marche mais ca devrait pouvoir être simplifié
comme toi, abandon du suivi
bonne soirée et à 1 2 C 4