OVH Cloud OVH Cloud

refuser suppression valeur

32 réponses
Avatar
j-pascal
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

2 réponses

1 2 3 4
Avatar
Jacky
Re....
(en plus) la présence d'un
commentaire situé entre les colonnes P et AT ? :

Essaie ceci:

'----------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c20]) Is Nothing And Target.Count = 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) >
0 Or compteur = 1 Then
Target = [mémo]
MsgBox "Interdit"
End If

End If
Application.EnableEvents = True

ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = Range("AW3").Value
Range("D6").Select '(j'ai mis ça pour désélectionner le bouton !)

End Sub
'---------------------

Pas testé, mais ca devrait faire :o((
--
Salutations
JJ


"j-pascal" a écrit dans le message de news:
%
Re,

Magnifique +++

Merci beaucoup !

Si j'osais ... Que faudrait-il ajouter à la ligne suivante pour "détecter"
(en plus) la présence d'un
commentaire situé entre les colonnes P et AT ? :

"If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) > 0"

A bientôt ?

JP



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

Re...
Essaie ceci
'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c20]) Is Nothing And Target.Count = 1
Then
Application.EnableEvents = False
' If Target.Row > 8 And Target.Row < 251 Then 'ajout (ne fonctionne
pas !)
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Then
Target = [mémo]
MsgBox "Interdit"
End If
'End If 'ajout
End If
Application.EnableEvents = True

ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = Range("AW3").Value
Range("D6").Select '(j'ai mis ça pour désélectionner le bouton !)

End Sub
'-----------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c20]) Is Nothing And Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr(34) &
Target.Value & Chr(34)
'End If

If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) >
0 Then
On Error Resume Next
Shapes("monshape").Visible = True
If Err <> 0 Then creeShape: Target.Select
Shapes("monshape").Left = ActiveCell.Left
Shapes("monshape").Top = ActiveCell.Top + ActiveCell.Height + 3
Shapes("monshape").TextFrame.Characters.Text = "Sup interdit"
Else
On Error Resume Next
Shapes("monshape").Visible = False
End If
End If
End Sub
'---------------------------
--
Salutations
JJ


"j-pascal" a écrit dans le message de news:

Re,

Un (tout petit) bout du fichier avec un cadre pour résumer la question
;-)

http://cjoint.com/?hDvJ7PyeiL

Je n'ai pas ajusté le code pour les Tris, etc, mais théoriquement tu
n'en as pas besoin.

D'avance, merci !

JP









Avatar
j-pascal
Bonjour Jacky,

Un très grand MERCI !

C'est parfait !!

J'ai aussi modifié le "SelectionChange" pour que le Shape "Interdit"
apparaisse si commentaire(s) ...

Encore merci :o)

JP

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

Re....
(en plus) la présence d'un
commentaire situé entre les colonnes P et AT ? :

Essaie ceci:

'----------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c20]) Is Nothing And Target.Count = 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row))
0 Or compteur = 1 Then
Target = [mémo]

MsgBox "Interdit"
End If

End If
Application.EnableEvents = True

ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = Range("AW3").Value
Range("D6").Select '(j'ai mis ça pour désélectionner le bouton !)

End Sub
'---------------------

Pas testé, mais ca devrait faire :o((
--
Salutations
JJ


"j-pascal" a écrit dans le message de news:
%
Re,

Magnifique +++

Merci beaucoup !

Si j'osais ... Que faudrait-il ajouter à la ligne suivante pour
"détecter" (en plus) la présence d'un
commentaire situé entre les colonnes P et AT ? :

"If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) >
0"

A bientôt ?

JP



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

Re...
Essaie ceci
'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c9:c20]) Is Nothing And Target.Count = 1
Then
Application.EnableEvents = False
' If Target.Row > 8 And Target.Row < 251 Then 'ajout (ne
fonctionne pas !)
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Then
Target = [mémo]
MsgBox "Interdit"
End If
'End If 'ajout
End If
Application.EnableEvents = True

ActiveSheet.Shapes("Button 98").Select
Selection.Characters.Text = Range("AW3").Value
Range("D6").Select '(j'ai mis ça pour désélectionner le bouton !)

End Sub
'-----------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [c9:c20]) Is Nothing And Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr(34) &
Target.Value & Chr(34)
'End If

If Application.Sum(Range("f" & Target.Row & ":" & "m" & Target.Row)) >
0 Then
On Error Resume Next
Shapes("monshape").Visible = True
If Err <> 0 Then creeShape: Target.Select
Shapes("monshape").Left = ActiveCell.Left
Shapes("monshape").Top = ActiveCell.Top + ActiveCell.Height + 3
Shapes("monshape").TextFrame.Characters.Text = "Sup interdit"
Else
On Error Resume Next
Shapes("monshape").Visible = False
End If
End If
End Sub
'---------------------------
--
Salutations
JJ


"j-pascal" a écrit dans le message de news:

Re,

Un (tout petit) bout du fichier avec un cadre pour résumer la question
;-)

http://cjoint.com/?hDvJ7PyeiL

Je n'ai pas ajusté le code pour les Tris, etc, mais théoriquement tu
n'en as pas besoin.

D'avance, merci !

JP













1 2 3 4