OVH Cloud OVH Cloud

interdiction ecriture dans cellule

5 réponses
Avatar
Mathieu
bonjour à toutes et à tous,

J'ai un tableau de 4 colonne (A,B,C,D) et x lignes,
lorsqu'une personne a rempli une cellule de la ligne (par exemple A1),
comment interdire qu'elle ne puisse remplir une autre cellule sur la meme
ligne (par exemple colonne B1).
J'aimerais qu'il soit impossible d'écrire ds les autres cellules de la meme
ligne et qu'un message lui indique qu'elle est obligé de passer à la ligne
suivante (B2) pour remplir sa cellule.

mercie a toutes et tous ;-)

Mathieu

5 réponses

Avatar
dre
Bonjour,

Menu Données / Validation / Aurorisé : Personnalisée / Formule :
=NB.VIDE(1:1)>254
Cette formule est valable pour une ligne totalement vide.
S'il y a des cellules remplies, il faut adapter le "254" de la formule.

Ensuite onglet Alerte d'erreur : le texte qu'on veut, par exdemple : Il faut
passer à la ligne suivante.

.




bonjour à toutes et à tous,

J'ai un tableau de 4 colonne (A,B,C,D) et x lignes,
lorsqu'une personne a rempli une cellule de la ligne (par exemple A1),
comment interdire qu'elle ne puisse remplir une autre cellule sur la meme
ligne (par exemple colonne B1).
J'aimerais qu'il soit impossible d'écrire ds les autres cellules de la meme
ligne et qu'un message lui indique qu'elle est obligé de passer à la ligne
suivante (B2) pour remplir sa cellule.

mercie a toutes et tous ;-)

Mathieu





Avatar
Mathieu
Bonjour a toi JB,
merci pour ton code, cela fonctionne bien ds ta feuille, mais puis je
l'intégrer dans ma feuille ?

en fait j'ai les colonnes de A à J remplie de données et ça n'est qu'aux
colonnes de K à N que je souhaite appliquer ce principe.

merci de ton aide

Mathieu

"Boisgontier" a écrit dans le message de
news: uE$
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column >= 1 And Target.Column <= 4 And Target.Count = 1 Then
ActiveSheet.Unprotect ' Password:="moi"
Target.Offset(0, -Target.Column + 1).Resize(, 4).Locked = True
Target.Offset(1, -Target.Column + 1).Resize(, 4).Locked = False
Target.Offset(1, -Target.Column + 1).Resize(, 4).Interior.ColorIndex =
37
ActiveSheet.Protect ' Password:="moi"
End If
End Sub

Cordialement JB

"Mathieu" a écrit dans le message de news:

bonjour à toutes et à tous,

J'ai un tableau de 4 colonne (A,B,C,D) et x lignes,
lorsqu'une personne a rempli une cellule de la ligne (par exemple A1),
comment interdire qu'elle ne puisse remplir une autre cellule sur la meme
ligne (par exemple colonne B1).
J'aimerais qu'il soit impossible d'écrire ds les autres cellules de la
meme
ligne et qu'un message lui indique qu'elle est obligé de passer à la
ligne
suivante (B2) pour remplir sa cellule.

mercie a toutes et tous ;-)

Mathieu









Avatar
Mathieu
merci dre je ne connaissait pas cette possibilité qui été intégré à excel.

mais le souci c'est que lorsque par exemple l'on copie une cellule remplie
et qu'on la colle ds la plage sur laquelle on a définit la formule, cela ne
fonctionne plus... le conditionnement de la cellule saute !!

je ne sais pas si tu y avais penser ??? ;-)

la technique de JB n'est pas trop mal si j'arrive à l'appliquer correctement

Mathieu

"dre" a écrit dans le message de news:

Bonjour,

Menu Données / Validation / Aurorisé : Personnalisée / Formule :
=NB.VIDE(1:1)>254
Cette formule est valable pour une ligne totalement vide.
S'il y a des cellules remplies, il faut adapter le "254" de la formule.

Ensuite onglet Alerte d'erreur : le texte qu'on veut, par exdemple : Il
faut
passer à la ligne suivante.

.




bonjour à toutes et à tous,

J'ai un tableau de 4 colonne (A,B,C,D) et x lignes,
lorsqu'une personne a rempli une cellule de la ligne (par exemple A1),
comment interdire qu'elle ne puisse remplir une autre cellule sur la meme
ligne (par exemple colonne B1).
J'aimerais qu'il soit impossible d'écrire ds les autres cellules de la
meme
ligne et qu'un message lui indique qu'elle est obligé de passer à la
ligne
suivante (B2) pour remplir sa cellule.

mercie a toutes et tous ;-)

Mathieu







Avatar
Mathieu
désolé JB de te redemander encore une fois mais par exemple si je veux
commencer a la ligne 15 de la colonne K ??

merci
Mathieu

"Boisgontier" a écrit dans le message de
news:
Clic-Droit sur l'onglet/Visualiser le code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column >= 11 And Target.Column <= 14 And Target.Count = 1 Then
ActiveSheet.Unprotect ' Password:="moi"
Target.Offset(0, -Target.Column + 11).Resize(, 4).Locked = True
Target.Offset(1, -Target.Column + 11).Resize(, 4).Locked = False
Target.Offset(1, -Target.Column + 11).Resize(, 4).Interior.ColorIndex =
37
ActiveSheet.Protect ' Password:="moi"
End If
End Sub

JB


"Mathieu" a écrit dans le message de news:
%23$$
Bonjour a toi JB,
merci pour ton code, cela fonctionne bien ds ta feuille, mais puis je
l'intégrer dans ma feuille ?

en fait j'ai les colonnes de A à J remplie de données et ça n'est qu'aux
colonnes de K à N que je souhaite appliquer ce principe.

merci de ton aide

Mathieu

"Boisgontier" a écrit dans le message de
news: uE$
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column >= 1 And Target.Column <= 4 And Target.Count = 1 Then
ActiveSheet.Unprotect ' Password:="moi"
Target.Offset(0, -Target.Column + 1).Resize(, 4).Locked = True
Target.Offset(1, -Target.Column + 1).Resize(, 4).Locked = False
Target.Offset(1, -Target.Column + 1).Resize(, 4).Interior.ColorIndex
37
ActiveSheet.Protect ' Password:="moi"



End If
End Sub

Cordialement JB

"Mathieu" a écrit dans le message de news:

bonjour à toutes et à tous,

J'ai un tableau de 4 colonne (A,B,C,D) et x lignes,
lorsqu'une personne a rempli une cellule de la ligne (par exemple A1),
comment interdire qu'elle ne puisse remplir une autre cellule sur la
meme
ligne (par exemple colonne B1).
J'aimerais qu'il soit impossible d'écrire ds les autres cellules de la
meme
ligne et qu'un message lui indique qu'elle est obligé de passer à la
ligne
suivante (B2) pour remplir sa cellule.

mercie a toutes et tous ;-)

Mathieu




















Avatar
dre
Exact !
Mais si on n'active pas les macros, le résultat est le même !
Sur Excel il n'y a pas moyen d'empêcher les gens de tricher.



merci dre je ne connaissait pas cette possibilité qui été intégré à excel.

mais le souci c'est que lorsque par exemple l'on copie une cellule remplie
et qu'on la colle ds la plage sur laquelle on a définit la formule, cela ne
fonctionne plus... le conditionnement de la cellule saute !!

je ne sais pas si tu y avais penser ??? ;-)

la technique de JB n'est pas trop mal si j'arrive à l'appliquer correctement

Mathieu

"dre" a écrit dans le message de news:

Bonjour,

Menu Données / Validation / Aurorisé : Personnalisée / Formule :
=NB.VIDE(1:1)>254
Cette formule est valable pour une ligne totalement vide.
S'il y a des cellules remplies, il faut adapter le "254" de la formule.

Ensuite onglet Alerte d'erreur : le texte qu'on veut, par exdemple : Il
faut
passer à la ligne suivante.

.




bonjour à toutes et à tous,

J'ai un tableau de 4 colonne (A,B,C,D) et x lignes,
lorsqu'une personne a rempli une cellule de la ligne (par exemple A1),
comment interdire qu'elle ne puisse remplir une autre cellule sur la meme
ligne (par exemple colonne B1).
J'aimerais qu'il soit impossible d'écrire ds les autres cellules de la
meme
ligne et qu'un message lui indique qu'elle est obligé de passer à la
ligne
suivante (B2) pour remplir sa cellule.

mercie a toutes et tous ;-)

Mathieu