Cellule bloquée conditionnelle

Lel

XLDnaute Nouveau
Bonjour,

Je souhaiterais offrir la possibilité à un utilisateur de mon fichier de saisir soit un pourcentage de temps (dans une colonne intitulée "%") soit un nombre de jours (dans une colonne intitulée "Jours").
Dans le cas où il aurait saisi un pourcentage, je souhaiterais que le nombre de jours se calcule automatiquement dans la colonne "Jours" et que ce faisant, il devienne impossible à l'utilisateur de modifier la valeur en jours.
Je sais que c'est faisable, mais je ne sais pas comment.

Pouvez-vous m'aider ?

Merci d'avance,
Lel.
 

Lel

XLDnaute Nouveau
Re : Cellule bloquée conditionnelle

Merci de joindre un bout de fichier avec les tenants et les aboutissants.

Voici le fichier demandé + une petite précision : il faudrait également que la saisie dans la colonne "jours" ne soit pas bloquée pour le cas où l'utilisateur préfère indiquer directement un nombre de jours.

Merci,
Lel
 

Pièces jointes

  • Test.xls
    39.5 KB · Affichages: 51
  • Test.xls
    39.5 KB · Affichages: 50
  • Test.xls
    39.5 KB · Affichages: 58

bruno66

XLDnaute Occasionnel
Re : Cellule bloquée conditionnelle

bonjour, concernant le calcul, suivant un jour donnée , nb jour en plus, pas de souci, mais comment voulez vous calculé une valeur , avec un pourcentage, suivant , j'ai eu recours a la creation sur la base de 30 jours, et 10% de 30 jours donnant 3 jours, la on a un début de solution, avec le fichier, mais votre fichier joint ,ne nous donne pas beaucoup d'explication , ne pouvant faire mieux a mon niveau,


http://cjoint.com/?hBqav1oW0a
 

Lel

XLDnaute Nouveau
Re : Cellule bloquée conditionnelle

Bonjour bruno66,

Ma question ne concerne pas les calculs, mais plutôt :
comment je bloque, par exemple sur la ligne 3, la cellule "jours"(B3) si la cellule "%"(A3) est complétée et réciproquement ?

Merci.

Lel
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Cellule bloquée conditionnelle

Bonjour,

Voir PJ

Code:
Dim ancien
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then
     Application.EnableEvents = False
     Target.Offset(0, 1) = Target * 31
     Application.EnableEvents = True
  End If
  If Target.Column = 2 Then
    If ancien <> 0 Then
       Application.EnableEvents = False
       Target = ancien
       Application.EnableEvents = True
    End If
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 2 Then
   ancien = Target
 End If
End Sub

JB
 

Pièces jointes

  • Test(2).xls
    48.5 KB · Affichages: 58
  • Test(2).xls
    48.5 KB · Affichages: 60
  • Test(2).xls
    48.5 KB · Affichages: 61

jeanpierre

Nous a quitté
Repose en paix
Re : Cellule bloquée conditionnelle

Bonjour Lel, le fil,

Là, il faut du code car excel ne peut pas, en même temps reconnaître une formule qui resterait présente et accepter une saisie.

J'ai vu un fil là-dessus et depuis près de 2 heures, je le recherche sans résultat pour le moment.

Si je trouve, je reviens

Bonne soirée.

Jean-Pierre
 

TooFatBoy

XLDnaute Barbatruc
Re : Cellule bloquée conditionnelle

Peut-être un truc commeça :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Or Target.Column = 2 Then
        With Target.Interior
            .ColorIndex = 35
            .Pattern = xlGray75
            .PatternColorIndex = 2
        End With
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
        If Cells(Target.Row, Target.Column + 1).Interior.ColorIndex = 35 Then
            Cells(Target.Row, Target.Column + 1).Select
        End If
    End If
    If Target.Column = 2 Then
        If Cells(Target.Row, Target.Column - 1).Interior.ColorIndex = 35 Then
            Cells(Target.Row, Target.Column - 1).Select
        End If
    End If
End Sub
Mais ça va colorier la cellule qui a été remplie manuellement... :(
 

jeanpierre

Nous a quitté
Repose en paix
Re : Cellule bloquée conditionnelle

Re, Bonsoir bruno66,

J'ai vu ton lien, rapidement, merci, mais sauf erreur, il n' y répond pas.

Pas encore testé la solution de JB (BOISGONTIER) que je n'avais pas vu.

Le problème, là, est que si l'on saisi un % (ex. B1), la cellule à côté (C1) se calcule... mais si l'on saisi en C1, l'inverse soit également valable et de plus, ne plus pouvoir intervenir sur les cellules... C'est ce que j'ai compris.

Deux questions en une... je continue.

Bonne soirée tous.

Jean-Pierre

Edit : pas vu non plus Marcel32 qui me double dans la dernière ligne droite.....
 

TooFatBoy

XLDnaute Barbatruc
Re : Cellule bloquée conditionnelle

Au fait... salut à tous. ;)

Une deuxième proposition de ma part, sans coloriage de cellule, mais avec utilisation d'une cellule intermédiaire (que l'on peut cacher, soit en masquant la colonne C, soit en utilisant le format ;;; pour les cellules de la colonne C utilisées comme cellules intermédiaires).
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Cells(Target.Row, Target.Column + 2).Value = Target.Column
    End If
    If Target.Column = 2 Then
        Cells(Target.Row, Target.Column + 1).Value = Target.Column
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
        If Cells(Target.Row, Target.Column + 2).Value = (Target.Column + 1) Then
            Cells(Target.Row, Target.Column + 1).Select
        End If
    End If
    If Target.Column = 2 Then
        If Cells(Target.Row, Target.Column + 1).Value = (Target.Column - 1) Then
            Cells(Target.Row, Target.Column - 1).Select
        End If
    End If
End Sub
 

TooFatBoy

XLDnaute Barbatruc
Re : Cellule bloquée conditionnelle

Je suis une grosse quiche !!! J'ai carrément oublié les formules de calcul dans le WorksheetChange...
Mais bon, je fais confiance à Lel pour mettre les bonnes formules. ;)


Petite remarque : il vaudrait mieux utiliser un Intersect plutôt qu'une simple comparaison de la colonne, mais ne connaissant pas la mise en page de la feuille complète, impossible actuellement de déterminer les plages à utiliser pour l'Intersect.
 
Dernière édition:

Lel

XLDnaute Nouveau
Re : Cellule bloquée conditionnelle

Bonjour à tous,

Merci pour vos réponses.
La solution proposée par Boisgontier fonctionne très bien. Malheureusement, je suis une débutante concernant VBA et je viens de me rendre compte que j'ai oublié une précision importante. En fait, je voudrais que cette fonction ne s'applique pas à toutes les lignes, mais uniquement aux lignes 11 à 66. Que dois-je faire ?

Merci d'avance,
Lel.
 

Discussions similaires

Réponses
9
Affichages
597
Réponses
11
Affichages
593

Statistiques des forums

Discussions
312 671
Messages
2 090 763
Membres
104 658
dernier inscrit
amomo