Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> "" T hen
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ... m ais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupér és par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bu lle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> "" T hen
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" <nospam-j-pas...@free.fr> a écrit dans le message de news:
uexOVQizHHA.4...@TK2MSFTNGP05.phx.gbl...
Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ... m ais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupér és par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" <dup...@marrtin.fr> a écrit dans le message de news:
OT0%23FCgzHHA.2...@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> =B2&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" <nospam-j-pas...@free.fr> a écrit dans le message de news:
Ot6H%23lezHHA.4...@TK2MSFTNGP04.phx.gbl...
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bu lle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> "" T hen
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ... m ais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupér és par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bu lle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si le curseur n'est pas DEPLACE après l'OUVERTURE du classeur, la
variable Modif_colA n'a pas de valeur.
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A
!
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si le curseur n'est pas DEPLACE après l'OUVERTURE du classeur, la
variable Modif_colA n'a pas de valeur.
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" <nospam-j-pas...@free.fr> a écrit dans le message de news:
uexOVQizHHA.4...@TK2MSFTNGP05.phx.gbl...
Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A
!
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" <dup...@marrtin.fr> a écrit dans le message de news:
OT0%23FCgzHHA.2...@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" <nospam-j-pas...@free.fr> a écrit dans le message de news:
Ot6H%23lezHHA.4...@TK2MSFTNGP04.phx.gbl...
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si le curseur n'est pas DEPLACE après l'OUVERTURE du classeur, la
variable Modif_colA n'a pas de valeur.
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A
!
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A
!
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" <nospam-j-pas...@free.fr> a écrit dans le message de news:
uexOVQizHHA.4...@TK2MSFTNGP05.phx.gbl...
Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A
!
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" <dup...@marrtin.fr> a écrit dans le message de news:
OT0%23FCgzHHA.2...@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" <nospam-j-pas...@free.fr> a écrit dans le message de news:
Ot6H%23lezHHA.4...@TK2MSFTNGP04.phx.gbl...
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais
cela n'empêche pas l'utilisateur de supprimer la valeur de la colonne A
!
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Re...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
u3EMhQozHHA.5772@TK2MSFTNGP02.phx.gbl...
Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
uFpQ6OjzHHA.1188@TK2MSFTNGP04.phx.gbl...
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
uexOVQizHHA.4652@TK2MSFTNGP05.phx.gbl...
Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
OT0%23FCgzHHA.2312@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
Ot6H%23lezHHA.4816@TK2MSFTNGP04.phx.gbl...
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Re...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
u3EMhQozHHA.5772@TK2MSFTNGP02.phx.gbl...
Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
uFpQ6OjzHHA.1188@TK2MSFTNGP04.phx.gbl...
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
uexOVQizHHA.4652@TK2MSFTNGP05.phx.gbl...
Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
OT0%23FCgzHHA.2312@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
Ot6H%23lezHHA.4816@TK2MSFTNGP04.phx.gbl...
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
je ne sais pas comment adapter le "Target.Row" !!
'--------
Oups !
J'ai un msg indiquant "Nom ambigu..." j'ai déjà une
"Worksheet_Change(ByVal Target As Range)" dans la code de la feuille.
Est-il possible de les différencier ??
Tout est ici :
------------------------------------------------------------------------
Option Explicit
Dim reponse As Variant
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Count = 1 Then
With Target
If .NoteText = "" Then
reponse = InputBox("Commentaire?")
If reponse <> "" Then
.AddComment reponse & Chr(10) & "[" & Now() & "]"
With .Comment.Shape.OLEFormat.Object.Font
.Name = "Tverdana"
.Size = 8
.FontStyle = "Normal"
.ColorIndex = 3
End With
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End If
'Else
'.Comment.Delete
End If
End With
End If
Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = " >>>" Then '2 espaces
ActiveSheet.Shapes("Button 98").Select
'Selection.Characters.Text = "Semaine du " & Range("F4")
Selection.Characters.Text = "TRIER ici"
Range("D6").Select
Else
ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = "Liste Ok"
'Range("D6").Select
Range("D6").Activate
End If
'Range("D6").Select
Range("D6").Activate
End Sub
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Range("f" & Target.Row) <> "" Or Range("m" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
'End If
End If
'Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ModifCol_A = Target
End If
End Sub
------------------------------------------------------------------
Si j'osais ( ;-) ) je poserais une question subsidiaire ...
En fait dans mon classeur, le "test" ne porte pas sur le fait que les
colonnes B, C et D soient vides, mais sur la somme des valeurs des
colonnes F à M.
Je peux inscrire :
"If Range("f" & Target.Row) > 0 Or Range("g" & Target.Row) > 0 (etc
jusqu'à "m") Then"
mais ça me semble très lourd. Je peux faire référence à "Range ("f:m")
mais je ne sais pas comment adapter le "Target.Row" !!
Question : comment ajuster la formule pour que la suppression d'une valeur
de la colonne "c" soit impossible si le somme des valeurs de F à M est
positive ?
@+ ?
JP
"Jacky" a écrit dans le message de news:
%Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
je ne sais pas comment adapter le "Target.Row" !!
'--------
Oups !
J'ai un msg indiquant "Nom ambigu..." j'ai déjà une
"Worksheet_Change(ByVal Target As Range)" dans la code de la feuille.
Est-il possible de les différencier ??
Tout est ici :
------------------------------------------------------------------------
Option Explicit
Dim reponse As Variant
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Count = 1 Then
With Target
If .NoteText = "" Then
reponse = InputBox("Commentaire?")
If reponse <> "" Then
.AddComment reponse & Chr(10) & "[" & Now() & "]"
With .Comment.Shape.OLEFormat.Object.Font
.Name = "Tverdana"
.Size = 8
.FontStyle = "Normal"
.ColorIndex = 3
End With
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End If
'Else
'.Comment.Delete
End If
End With
End If
Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = " >>>" Then '2 espaces
ActiveSheet.Shapes("Button 98").Select
'Selection.Characters.Text = "Semaine du " & Range("F4")
Selection.Characters.Text = "TRIER ici"
Range("D6").Select
Else
ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = "Liste Ok"
'Range("D6").Select
Range("D6").Activate
End If
'Range("D6").Select
Range("D6").Activate
End Sub
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Range("f" & Target.Row) <> "" Or Range("m" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
'End If
End If
'Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ModifCol_A = Target
End If
End Sub
------------------------------------------------------------------
Si j'osais ( ;-) ) je poserais une question subsidiaire ...
En fait dans mon classeur, le "test" ne porte pas sur le fait que les
colonnes B, C et D soient vides, mais sur la somme des valeurs des
colonnes F à M.
Je peux inscrire :
"If Range("f" & Target.Row) > 0 Or Range("g" & Target.Row) > 0 (etc
jusqu'à "m") Then"
mais ça me semble très lourd. Je peux faire référence à "Range ("f:m")
mais je ne sais pas comment adapter le "Target.Row" !!
Question : comment ajuster la formule pour que la suppression d'une valeur
de la colonne "c" soit impossible si le somme des valeurs de F à M est
positive ?
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
%23EaV0QpzHHA.1208@TK2MSFTNGP03.phx.gbl...
Re...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
u3EMhQozHHA.5772@TK2MSFTNGP02.phx.gbl...
Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
uFpQ6OjzHHA.1188@TK2MSFTNGP04.phx.gbl...
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
uexOVQizHHA.4652@TK2MSFTNGP05.phx.gbl...
Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
OT0%23FCgzHHA.2312@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
Ot6H%23lezHHA.4816@TK2MSFTNGP04.phx.gbl...
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
je ne sais pas comment adapter le "Target.Row" !!
'--------
Oups !
J'ai un msg indiquant "Nom ambigu..." j'ai déjà une
"Worksheet_Change(ByVal Target As Range)" dans la code de la feuille.
Est-il possible de les différencier ??
Tout est ici :
------------------------------------------------------------------------
Option Explicit
Dim reponse As Variant
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Count = 1 Then
With Target
If .NoteText = "" Then
reponse = InputBox("Commentaire?")
If reponse <> "" Then
.AddComment reponse & Chr(10) & "[" & Now() & "]"
With .Comment.Shape.OLEFormat.Object.Font
.Name = "Tverdana"
.Size = 8
.FontStyle = "Normal"
.ColorIndex = 3
End With
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End If
'Else
'.Comment.Delete
End If
End With
End If
Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = " >>>" Then '2 espaces
ActiveSheet.Shapes("Button 98").Select
'Selection.Characters.Text = "Semaine du " & Range("F4")
Selection.Characters.Text = "TRIER ici"
Range("D6").Select
Else
ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = "Liste Ok"
'Range("D6").Select
Range("D6").Activate
End If
'Range("D6").Select
Range("D6").Activate
End Sub
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Range("f" & Target.Row) <> "" Or Range("m" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
'End If
End If
'Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ModifCol_A = Target
End If
End Sub
------------------------------------------------------------------
Si j'osais ( ;-) ) je poserais une question subsidiaire ...
En fait dans mon classeur, le "test" ne porte pas sur le fait que les
colonnes B, C et D soient vides, mais sur la somme des valeurs des
colonnes F à M.
Je peux inscrire :
"If Range("f" & Target.Row) > 0 Or Range("g" & Target.Row) > 0 (etc
jusqu'à "m") Then"
mais ça me semble très lourd. Je peux faire référence à "Range ("f:m")
mais je ne sais pas comment adapter le "Target.Row" !!
Question : comment ajuster la formule pour que la suppression d'une valeur
de la colonne "c" soit impossible si le somme des valeurs de F à M est
positive ?
@+ ?
JP
"Jacky" a écrit dans le message de news:
%Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Non, il faudra te débrouiller de les mettre dans le même
"Worksheet_Change(ByVal Target As Range)"
Mais sans le fichier, il est difficile de voir.....
http://www.cjoint.com/
je ne sais pas comment adapter le "Target.Row" !!
'--------
If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) Then
'-------------
Le code avec la modif. de JB et adapté à ta plage
'------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) Then
Target = [ModifCol_A]
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ActiveWorkbook.Names.Add Name:="ModifCol_A", RefersToR1C1:="=" &
Chr(34) & Target.Value & Chr(34)
End If
End Sub
'----------------------------------------
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Oups !
J'ai un msg indiquant "Nom ambigu..." j'ai déjà une
"Worksheet_Change(ByVal Target As Range)" dans la code de la feuille.
Est-il possible de les différencier ??
Tout est ici :
------------------------------------------------------------------------
Option Explicit
Dim reponse As Variant
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Count = 1 Then
With Target
If .NoteText = "" Then
reponse = InputBox("Commentaire?")
If reponse <> "" Then
.AddComment reponse & Chr(10) & "[" & Now() & "]"
With .Comment.Shape.OLEFormat.Object.Font
.Name = "Tverdana"
.Size = 8
.FontStyle = "Normal"
.ColorIndex = 3
End With
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End If
'Else
'.Comment.Delete
End If
End With
End If
Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = " >>>" Then '2 espaces
ActiveSheet.Shapes("Button 98").Select
'Selection.Characters.Text = "Semaine du " & Range("F4")
Selection.Characters.Text = "TRIER ici"
Range("D6").Select
Else
ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = "Liste Ok"
'Range("D6").Select
Range("D6").Activate
End If
'Range("D6").Select
Range("D6").Activate
End Sub
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Range("f" & Target.Row) <> "" Or Range("m" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
'End If
End If
'Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ModifCol_A = Target
End If
End Sub
------------------------------------------------------------------
Si j'osais ( ;-) ) je poserais une question subsidiaire ...
En fait dans mon classeur, le "test" ne porte pas sur le fait que les
colonnes B, C et D soient vides, mais sur la somme des valeurs des
colonnes F à M.
Je peux inscrire :
"If Range("f" & Target.Row) > 0 Or Range("g" & Target.Row) > 0 (etc
jusqu'à "m") Then"
mais ça me semble très lourd. Je peux faire référence à "Range ("f:m")
mais je ne sais pas comment adapter le "Target.Row" !!
Question : comment ajuster la formule pour que la suppression d'une
valeur de la colonne "c" soit impossible si le somme des valeurs de F à M
est positive ?
@+ ?
JP
"Jacky" a écrit dans le message de news:
%Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de
news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Non, il faudra te débrouiller de les mettre dans le même
"Worksheet_Change(ByVal Target As Range)"
Mais sans le fichier, il est difficile de voir.....
http://www.cjoint.com/
je ne sais pas comment adapter le "Target.Row" !!
'--------
If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) Then
'-------------
Le code avec la modif. de JB et adapté à ta plage
'------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) Then
Target = [ModifCol_A]
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ActiveWorkbook.Names.Add Name:="ModifCol_A", RefersToR1C1:="=" &
Chr(34) & Target.Value & Chr(34)
End If
End Sub
'----------------------------------------
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
OqGuwYszHHA.3400@TK2MSFTNGP03.phx.gbl...
Oups !
J'ai un msg indiquant "Nom ambigu..." j'ai déjà une
"Worksheet_Change(ByVal Target As Range)" dans la code de la feuille.
Est-il possible de les différencier ??
Tout est ici :
------------------------------------------------------------------------
Option Explicit
Dim reponse As Variant
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Count = 1 Then
With Target
If .NoteText = "" Then
reponse = InputBox("Commentaire?")
If reponse <> "" Then
.AddComment reponse & Chr(10) & "[" & Now() & "]"
With .Comment.Shape.OLEFormat.Object.Font
.Name = "Tverdana"
.Size = 8
.FontStyle = "Normal"
.ColorIndex = 3
End With
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End If
'Else
'.Comment.Delete
End If
End With
End If
Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = " >>>" Then '2 espaces
ActiveSheet.Shapes("Button 98").Select
'Selection.Characters.Text = "Semaine du " & Range("F4")
Selection.Characters.Text = "TRIER ici"
Range("D6").Select
Else
ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = "Liste Ok"
'Range("D6").Select
Range("D6").Activate
End If
'Range("D6").Select
Range("D6").Activate
End Sub
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Range("f" & Target.Row) <> "" Or Range("m" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
'End If
End If
'Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ModifCol_A = Target
End If
End Sub
------------------------------------------------------------------
Si j'osais ( ;-) ) je poserais une question subsidiaire ...
En fait dans mon classeur, le "test" ne porte pas sur le fait que les
colonnes B, C et D soient vides, mais sur la somme des valeurs des
colonnes F à M.
Je peux inscrire :
"If Range("f" & Target.Row) > 0 Or Range("g" & Target.Row) > 0 (etc
jusqu'à "m") Then"
mais ça me semble très lourd. Je peux faire référence à "Range ("f:m")
mais je ne sais pas comment adapter le "Target.Row" !!
Question : comment ajuster la formule pour que la suppression d'une
valeur de la colonne "c" soit impossible si le somme des valeurs de F à M
est positive ?
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
%23EaV0QpzHHA.1208@TK2MSFTNGP03.phx.gbl...
Re...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
u3EMhQozHHA.5772@TK2MSFTNGP02.phx.gbl...
Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
uFpQ6OjzHHA.1188@TK2MSFTNGP04.phx.gbl...
Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
uexOVQizHHA.4652@TK2MSFTNGP05.phx.gbl...
Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
OT0%23FCgzHHA.2312@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:
Ot6H%23lezHHA.4816@TK2MSFTNGP04.phx.gbl...
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Non, il faudra te débrouiller de les mettre dans le même
"Worksheet_Change(ByVal Target As Range)"
Mais sans le fichier, il est difficile de voir.....
http://www.cjoint.com/
je ne sais pas comment adapter le "Target.Row" !!
'--------
If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) Then
'-------------
Le code avec la modif. de JB et adapté à ta plage
'------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) Then
Target = [ModifCol_A]
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ActiveWorkbook.Names.Add Name:="ModifCol_A", RefersToR1C1:="=" &
Chr(34) & Target.Value & Chr(34)
End If
End Sub
'----------------------------------------
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Oups !
J'ai un msg indiquant "Nom ambigu..." j'ai déjà une
"Worksheet_Change(ByVal Target As Range)" dans la code de la feuille.
Est-il possible de les différencier ??
Tout est ici :
------------------------------------------------------------------------
Option Explicit
Dim reponse As Variant
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Count = 1 Then
With Target
If .NoteText = "" Then
reponse = InputBox("Commentaire?")
If reponse <> "" Then
.AddComment reponse & Chr(10) & "[" & Now() & "]"
With .Comment.Shape.OLEFormat.Object.Font
.Name = "Tverdana"
.Size = 8
.FontStyle = "Normal"
.ColorIndex = 3
End With
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End If
'Else
'.Comment.Delete
End If
End With
End If
Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = " >>>" Then '2 espaces
ActiveSheet.Shapes("Button 98").Select
'Selection.Characters.Text = "Semaine du " & Range("F4")
Selection.Characters.Text = "TRIER ici"
Range("D6").Select
Else
ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = "Liste Ok"
'Range("D6").Select
Range("D6").Activate
End If
'Range("D6").Select
Range("D6").Activate
End Sub
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
Application.EnableEvents = False
If Range("f" & Target.Row) <> "" Or Range("m" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
'End If
End If
'Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c250]) Is Nothing Then
ModifCol_A = Target
End If
End Sub
------------------------------------------------------------------
Si j'osais ( ;-) ) je poserais une question subsidiaire ...
En fait dans mon classeur, le "test" ne porte pas sur le fait que les
colonnes B, C et D soient vides, mais sur la somme des valeurs des
colonnes F à M.
Je peux inscrire :
"If Range("f" & Target.Row) > 0 Or Range("g" & Target.Row) > 0 (etc
jusqu'à "m") Then"
mais ça me semble très lourd. Je peux faire référence à "Range ("f:m")
mais je ne sais pas comment adapter le "Target.Row" !!
Question : comment ajuster la formule pour que la suppression d'une
valeur de la colonne "c" soit impossible si le somme des valeurs de F à M
est positive ?
@+ ?
JP
"Jacky" a écrit dans le message de news:
%Re...Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Il me semble que le code proposé fait cela, non ??
voir ici
http://cjoint.com/?hzkpXnMcCM
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Merci Jacky,
Ca marche effectivement très bien pour empêcher la suppression des
valeurs
saisies dans la colonne A, mais je ne peux plus saisir de nouvelles
valeurs (dans cette même colonne A) !
L'idée, c'est qu'il y a une colonne (A) de noms. Ces noms sont
accessibles
par "donnée/validation/liste". En face de certains noms (sur la même
ligne), il y a des valeurs ...
Je dois pouvoir ajouter des noms dans la liste. Je dois pouvoir
supprimer
des noms de cette même liste, mais à la seule condition qu'il n'y ait
pas
de valeur sur la ligne correspondante.
Désolé de ne pas avoir été plus précis plus tôt ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:Re....
Je te propose ceci:
'---------
Private ModifCol_A
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
Application.EnableEvents = False
If Range("b" & Target.Row) <> "" Or Range("c" & Target.Row) <> ""
Then
Target = ModifCol_A
MsgBox "Modif. interdite"
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a2:a5000]) Is Nothing Then ' a adapter
ModifCol_A = Target
End If
End Sub
'----------
'A coller dans le module de la feuille en question
--
Salutations
JJ
"j-pascal" a écrit dans le message de news:Bonsoir Jacky,
Merci.
Je n'avais certes pas pensé au menu donnée/validation ...
Mais dans ton exemple, (si je comprends bien) cela empêche de saisir
une
valeur dans la colonne A si les colonnes B et C ne sont pas vides ...
mais cela n'empêche pas l'utilisateur de supprimer la valeur de la
colonne A !
(Autre) problème), les noms de la colonne A sont déjà récupérés par
"donnée/validation/liste" ;-(
@+ ?
JP
"Jacky" a écrit dans le message de news:
OT0%Bonjour,
Le menu donnée/validation pourrait le faire
Sélection de la plage(commence en B2 pour l'exemple)
Donnée/validation
Autoriser==> personnalisé
Formule ==> ²&C2=""
Eventellement configurer les messages d'alerte
--
Salutations
JJ
"j-pascal" a écrit dans le message de
news:
Ot6H%Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une
bulle
pour informer l'utilisateur !) si les colonnes B et C (ie) de la
ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP
Bonjour,
Problème :
Dans la colonne A, j'ai des noms.
Est-il possible d'empêcher la suppression du nom (et d'avoir une bulle
pour
informer l'utilisateur !) si les colonnes B et C (ie) de la ligne
correspondante contiennent des valeurs non nulles ?
Merci d'avance pour vos lumières ...
--
Cordialement @+
JP