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 ?
(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 ? :
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
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" <nospam-j-pascal@free.fr> a écrit dans le message de news:
%239Xqu4i0HHA.5160@TK2MSFTNGP05.phx.gbl...
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 ? :
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
eVNqZ5h0HHA.4928@TK2MSFTNGP05.phx.gbl...
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" <nospam-j-pascal@free.fr> a écrit dans le message de news:
ux52Pgh0HHA.4916@TK2MSFTNGP03.phx.gbl...
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.
(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 ? :
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
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 ? :
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
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" <dupont@marrtin.fr> a écrit dans le message de news:
OKkqDto0HHA.3536@TK2MSFTNGP06.phx.gbl...
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" <nospam-j-pascal@free.fr> a écrit dans le message de news:
%239Xqu4i0HHA.5160@TK2MSFTNGP05.phx.gbl...
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 ? :
"Jacky" <dupont@marrtin.fr> a écrit dans le message de news:
eVNqZ5h0HHA.4928@TK2MSFTNGP05.phx.gbl...
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" <nospam-j-pascal@free.fr> a écrit dans le message de news:
ux52Pgh0HHA.4916@TK2MSFTNGP03.phx.gbl...
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.
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 ? :
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.