Je dévérouille une cellule que si j'en renseigne une autre.....

Résolu/Fermé
balou11 Messages postés 26 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 1 juin 2022 - 24 janv. 2013 à 21:58
 balou11 - 28 janv. 2013 à 07:56
Bonjour,
Voila mon besoin :
J'ai une feuille excel qui est protegée, sauf certaines colonnes que des utilisateurs doivent renseigner. Les colonnes B et C ne sont effectivement pas protégées. Et c'est la que vient mon probleme, je voudrais que la cellule B3 et C3 soit deverouillées lorsque B2 et C2 ont étés renseignées , quand B3 et C3 seront renseignées cela debloquera B4 et C4 et ainsi de suite......
J'aimerai connaitre le code si c'est possible ! ! !
Par avance merci . . .

3 réponses

via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
24 janv. 2013 à 22:44
Bonsoir pourquoi vouloir deverouiller puis reverouiller etc ?

tu auras meilleur compte de passer par Validation de données
Tu selectionnes B3 et C3 puis Validation données
Autoriser : personnalisé
puis renter la formule :
=ET(NON(ESTVIDE(B2));NON(ESTVIDE(C2)))

Ne pas oublier de decocher "Ignorer si vide"

Dans Alerte d'erreur tu tapes le message à destination des utilisateurs style"Vous devez d'abord remplir la ligne précédente"

Et enfin tu étires la formule vers le bas

Cela te convient il ?
0
Bonjour via55,
Je viens de faire des tests, et cela me convient tout à fait.
Je n'avais pas pensé a cette formule ! ! !
Un grand merci, c'est parfait.
0
balou11 Messages postés 26 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 1 juin 2022
25 janv. 2013 à 19:00
Re bonjour via55,
Fausse joie, la formule fonctionne tres bien si l'on saisie manuellement, par contre j'ai une macro qui renseigne l'heure (les utilisateurs ne font pas de saisie manuelle il clique sur cette macro):

Sub figerheure()
ActiveCell.FormulaR1C1 = Time()
End Sub

Et dans ce cas l'heure s'affiche et ne tient pas compte de "valide si"

Je suis preneur du code qui permettra de deverouiller mes cellule B3 et C3 quand les cellules B2 et C2 ont étés renseignées et ainsi de suite.

Par avance merci.
0
via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
26 janv. 2013 à 00:02
Re

Ajoute cette ligne en début de Sub

If ActiveCell.Offset(-1, 0).Value = "" Then MsgBox ("La ligne précédente n'est pas complétée"): Exit Sub

Si la cellule au dessus est vide elle affiche un message d'erreur et sort de la Sub

Là encore pas besoin de verrouiller et déverrouiller

Est ce bon cette fois ?
0
Bonjour via55
Voila, effectivement maintenant c'est parfait.
Merci beaucoup, et peut etre a bientot ! ! !
0