Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Comment interdire modif ds cellule remplie ?

kormi, le lundi 21 avril 2008 à 11:00:10
Bonjour,

J'ai créé un tableau avec des cellules qui comportent des jours, des noms et des sommes qui sont verrouillées. Je remplis au fur et à mesure les cellules avec des chiffres. je souhaiterais verrouiller les cellules dès qu'elles contiennent un chiffre.
Comment ?
Merci d'avance
Configuration: Windows XP
Internet Explorer 7.0
Répondre à kormi  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
plubarj, le lundi 21 avril 2008 à 12:22:57
Hello kormi
Je te propose cette solution un peu basique:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If IsNull(ActiveCell.Value) Then
             ActiveSheet.Protect Contents:=False
        Else
            ActiveSheet.Protect Contents:=True
        End If
End Sub
En résumé: si la cellule que tu sélectionnes contient quelque chose, tu protèges la feuille, sinon, tu désactive la protection.
Cheer

Plubarj Tumeur
Répondre à plubarj

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le jeudi 8 mai 2008 à 02:07:44
Bonsoir,
Ta solution est certe un peu basique mais surtout tout à fait fausse.
Quand tu donne une "solution" il faudrait d'abord la tester !!!

copie cette sub dans un nouveau classeur et teste...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Range("A1").Value = Target.Address
    Range("A2").Value = ActiveCell.Address
    Range("B4").Value = 12
    Range("A5").Value = IsNull(Range("B4").Value)
End Sub


Activecell donne l'adresse de la cellule dans lequel ont vient d'arriver...et non celle où ont était
idem pour Target.Address
La fonction IsNull ne fonctionne que sur des objet ou variable de type Variant, dans le cas soumis, renvoit toujour FAUX
la ligne...
    ActiveSheet.Protect Contents:=False

déprotège toute la feuille, ce qui veux dire qu'il n'y à plus de protection
la ligne
    ActiveSheet.Protect Contents:=True

reprotège la feuille, mais ne protège pas la cellule concernée...
Voila le code comme il devrait être, du moins une solution.
Il faut d'abord déprotéger la feuille et décocher les verrouillage de toutes les cellules vides et ensuite reverrouillé la feuille
Sans cette condition ca marchera jamais, par facilité j'ai mis une macro qui peu déverrouillé par bloc.

Dim AncienneCellule As String

Private Sub Worksheet_Activate()
    AncienneCellule = ActiveCell.Address
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If AncienneCellule <> "" Then
        If Range(AncienneCellule).Value <> "" Then
            Sheets("Feuil1").Unprotect
            Range(AncienneCellule).Locked = True
            Sheets("Feuil1").Protect
        End If
    End If
    AncienneCellule = Target.Address
End Sub

Sub déverrouilleCellules()
    Worksheets("Feuil1").Unprotect
    'Changer l'adresse pour déverrouillé des cellules
    Sheets("Feuil1").Range("A1:G30").Locked = False
    Worksheets("Feuil1").Protect
End Sub

Vérifié et tester.
A+
Une question énoncée clairement se comprend aisément.
Répondre à lermite222

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
plubarj, le jeudi 8 mai 2008 à 11:10:32
Hola hola, excuse, lermite!
J'ai bien testé mon truc avant de poster et j'ai commis l'erreur de faire une modif de mon post après coup.
Mais si on garde la même approche (protection générale de la feuille si la cellule sélectionnée n'est pas vide et protection générale si elle l'est), tu vois une erreur là dedans?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If ActiveCell.Value <> 0 And ActiveCell.Value <> "" Then
            ActiveSheet.Protect Contents:=True
        Else
            ActiveSheet.Protect Contents:=False
        End If
End Sub
je ne comprends pas pourquoi tu dis
'reprotège la feuille, mais ne protège pas la cellule concernée...'

Avec encore toutes mes excuses! Plubarj Tumeur
Répondre à plubarj

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le jeudi 8 mai 2008 à 14:02:49
Bonjour,
Je suis rouge de honte, tu voudras bien m'excuser pour les remarques que j'ai fait, je devais être drôlement fatigué pour pas avoir compris ta sub directement.
A+
Répondre à lermite222

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
plubarj, le jeudi 8 mai 2008 à 14:29:57
Ohh, pas de quoi être rouge de honte, il y avait bien un truc foireux dans 'ma solution'. Merci donc de l'avoir soulevé.
Cheers Plubarj Tumeur
Répondre à plubarj

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 lermite222, le vendredi 9 mai 2008 à 10:24:55
Précision pour kormi...
La solution basique permet de protéger la feuille pour éviter de recopier sur une cellule mais ne procure pas une grande sécurité. Certaine manoueuvre peuvent endommager le fichier malgré la protection..
Ex: effacer des données "protégées"
Mettre données dans A1
Mettre la souris sur une cellule vide, pas relacher et marquer une sélection jusque A1 ensuite tape Delete !! tout le bloc est vide.

pour changer A1 (volontairement) dans une autre feuille mettre une valeur différente et sélectionner un bloc de la même grandeur que précédament et la recopier comme ci-dessus
A+
Répondre à lermite222

Résultats pour comment interdire modif ds cellule remplie ?

Comptage des cellules utilisées dans excel (Résolu) Bonjour à tous, Je suis en train de réaliser un tableau avec Excel dans lequel certaines cellules sont utilisées, d'autres volontairement laissées vides. Je souhaiterais pouvoir faire une somme du nombre de cellules remplies par colonne mais sans... www.commentcamarche.net/forum/affich-3855427-comptage-des-cellules-utilisees-dans-excel
[calc] remplir cellules vides d'une colonne (Résolu) Bonjour à tous, J'essaie de faire une macro sous Calc de Open Office qui remplirait automatiquement par "pas de champ" lorsqu'une cellule de ma colonne est vide. Donc ma colonne (I1:I15) est une alternance de cellules remplies de texte et de... www.commentcamarche.net/forum/affich-5109181-calc-remplir-cellules-vides-d-une-colonne
MACRO/EXCEL: Quel est cellule précédente? (Résolu) Bonjour, Je cherche à savoir si c'est possible de connaitre la cellule précédente, elle peut être de tout côté ou ailleur avec la souris. Je doit revenir modifier la cellule que je viens de modifier pour la divisé par 2 et afffecté sa voisinne de... www.commentcamarche.net/forum/affich-2669791-macro-excel-quel-est-cellule-precedente

Résultats pour comment interdire modif ds cellule remplie ?

[VBA] Détection de modification de celluleIl y a, bien entendu, l'événement Change d'une feuille qui détecte le changement de la cellule active mais il ne donne pas de renseignement quant au contenu. Ces quelques lignes de code permettent de savoir si la cellule a été modifiée, fonctionne si... www.commentcamarche.net/faq/sujet-12394-vba-detection-de-modification-de-cellule
Utiliser VALEUR CIBLE sous ExcelVous avez fait un devis, sous forme d'un tableau EXCEL vous avez additionné chacun des prix, obtenu un Total HT (en E8 par exemple) défini une remise (en E9), appliqué le montant de TVA (en E10), obtenu votre Total TTC (en E11) votre client vous... www.commentcamarche.net/faq/sujet-8675-utiliser-valeur-cible-sous-excel
[Excel] Restreindre l'accès aux cellulesEncore une fonction peu connue : Expérimentez : Données / Validation Vous pouvez alors restreindre ou interdire l'accès aux "cellules stratégiques" de votre choix, avec message d'alerte. Vous pouvez faire afficher automatiquement des messages... www.commentcamarche.net/faq/sujet-3976-excel-restreindre-l-acces-aux-cellules

Résultats pour comment interdire modif ds cellule remplie ?

Liste déroulante dans feuille protégée Excel (Résolu)Bonjour, Dans Excel (2003), j'ai une feuille avec une liste déroulante. Je souhaite protéger la feuille et continuer à pouvoir utiliser la liste déroulante. J'ai pourtant permis aux utilisateurs de modifier la cellule liée et autorisé toutes... www.commentcamarche.net/forum/affich-4944174-liste-deroulante-dans-feuille-protegee-excel
Créer un message d'erreur sous Excel (Résolu)Bonjour, Je cherche à créer un message d'erreur sous Excel qui apparaitrait seulement lorsque plus de 5 cellules d'une meme colonne ont été remplies. J'ai tenté de trouver une solution en attribuant un 1 à chaque cellule remplie, et... www.commentcamarche.net/forum/affich-3857807-creer-un-message-d-erreur-sous-excel
Petite macro pour faire un tri (Résolu)Bonjour, Désolé si la question a déjà été posée mais je ne trouve pas de solution. J'aimerais savoir s'il est possible de faire une macro, pour Excel, qui fasse un tri sur des données calculées à chaque fois que l'on modifie une cellule... www.commentcamarche.net/forum/affich-4586236-petite-macro-pour-faire-un-tri

Résultats pour comment interdire modif ds cellule remplie ?

Télécharger Debt Reduction - Zilch StandardDebt Reduction - Zilch Standard est un gestionnaire de dette. Il aide l'utilisateur à se débarrasser de ses dettes. Très facile à utiliser, il suffit de remplir les cellules vides et de cliquer sur un bouton. De plus, l'application ne nécessite pas... www.commentcamarche.net/telecharger/telecharger-34057411-debt-reduction-zilch-standard

Résultats pour comment interdire modif ds cellule remplie ?

DVD et copie : on s'adapte !Le système de protection des DVDs nommé CSS (Content Scrambling System) mis en place pour interdire les copies (mais contourné depuis longtemps) sera modifié très prochainement pour permettre la copie des films achetés sur les plates-formes de vidéo à... www.commentcamarche.net/actualites/dvd-et-copie-on-s-adapte-2342327-actualite.php3

Résultats pour comment interdire modif ds cellule remplie ?

Tableur - La sélection des cellulesSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a... www.commentcamarche.net/contents/tableur/tabcellselect.php3