Excel/figer une ligne

caro -  
 caro -
Bonjour,
J'ai un colonne ou je veux écrire des numéro de BL, si le numéro est absent je mets un point d'interrogation.
Si il y a un point d'interrogation, je veux qu'on ne puisse plus rentrer aucune donnée sur la ligne.
Silvouplait aidez moi!!
En vous remerciant,
Caro
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    En supposant que ton fichier est protégé, et que les cellules accessibles sont déverrouillées que la zone concernée est B1 à B50 et que ta cellule ne se déplace pas après validation
    Avec ce code lorsque tu saisiras un ? dans cette zone B1:B50 les cellules de la colonne A à la colonne G sur la même ligne se verrouilleront et le fichier se déprotégera. Si un mot de passe pour la protection existe, il conviendra de le saisir dans le code de déprotection de la macro

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B1:B50)) Is Nothing Then
    If ActiveCell = "?" Then
    ActiveSheet.Unprotect
    Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, 5)).Select
    selection.Locked = True
    selection.FormulaHidden = False

    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    End If
    End If
    End Sub

    Testes ce code et on en reparle des modifications à apporter.

    A+
    0
    1. caro
       
      Je te remercie mais je sais plus du tout me servir de VBA...peux-tu me refaire un petit brifing?
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    autre solution avec 'validation'

    - Sélectionner les cellules à protéger par exemple les colonnes B à G
    - menu 'données / validation...."
    - Autoriser: 'personnalisé', formule: =$A1<>"?"
    - onglet 'alerte d'erreur': mettre un message explicatif
    - valider

    un ? en colonne A empeche la saisie sur ces colonnes.

    Si le ? est en colonne C, sélectionner les colonnes A:B et D:G avant de mettre la validation.
    La formule sera: =$C1<>"?"

    eric
    0
    1. caro
       
      Moi je veux juste figer la ligne..j'ai l'impression que tu fais figer les colonnes en même temps.
      Ex: la colonne A c'est la colonne où je remplis les codes, si je mets un points d'interrogation en A1 je veux que la ligne 1 seulement soit figer et pas le reste.De plus j'ai déjà utiliser la fonction validation et il me dit de supprimer les règlages courants.
      0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    La formule est =$A1<>"?" (absolu colonne/relatif ligne) donc sur la ligne 2 tu testes A2 etc
    Toutes les lignes avec ? sont bloquées, sur les autres la saisie est autorisée.
    Maintenant si tu as d'autres validations sur les cellules sois tu cumules les tests dans des ET() et des OU() ce qui va pê te compliquer la vie, soit tu fais avec la macro de Mike
    eric

    PS: je te faisais sélectionner les colonnes pour que ça s'applique sur toutes les lignes... Mais tu peux restreindre à une plage sélectionnée, de B3 à G10 si tu veux. Selon la ligne de la 1ère cellule de ta sélection la formule change. Là ça serait =$A3<>"?"
    0
    1. caro
       
      Merci beaucoup pour le temps passé..je vais essayé ce que tu m'as dit
      0
      1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281 > caro
         
        =ou(test1;test2)
        si un des 2 test est VRAI tu auras VRAI donc interdiction de la saisie
        dans test1 et test2 tu ne mets pas le =
        0
      2. caro > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        D'accord merci beaucoup pour les infos!!
        0
    2. caro
       
      Comment fais-tu pour cumuler les tests en et ou?
      0
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut Eriiic & Caro,

    Pour commencer merci Eriiic de me remémorer cette possibilité qui est surement la plus approprié et la moins contraignante pour les besoins de Caro, la feuille n’a pas besoin d’être protégé et il suffit de changer le «?» dans la colonne A ou celle prédéfinie, pour de nouveau accéder aux cellules prédéfinies dans le code de validation.
    Dans le cas d’un code VBA la manip est plus lourde, tout dépend des accès que l'on souhaite contrôler.

    A+
    0