Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Cé a écrit dans le message de news:
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Céline@discussions.microsoft.com> a écrit dans le message de news: 226EFF55-CF01-4C74-8191-E58488305193@microsoft.com...
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Cé a écrit dans le message de news:
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Cé a écrit dans le message de news:
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Céline@discussions.microsoft.com> a écrit dans le message de news: 226EFF55-CF01-4C74-8191-E58488305193@microsoft.com...
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Cé a écrit dans le message de news:
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
La section que j'ai ajouté fonctionne très bien . Remplace la commande Undo par Msgbox "Ok" ... et tu verras !
Si cela ne fonctionne pas ... c'est que la macro que tu as créé ne répond pas à tes besoins .
Ce que j'ai ajouté à la macro, empêche à la macro de s'exécuter lorsque tu enfonces et maintien la touche "MAJ"
Donc, si tu cliques sur une cellule de la plage A1:B10 tu auras le messag "Ok" sauf si la touche "MAJ" est enfoncée.
Pour ce qui est de ta macro originelle, aucune idée à quoi elle sert ! Difficile de la modifier !!!
Salutations!
"Céline" <Cé a écrit dans le message de news:
Merci beaucoup mais (malheureusement j'ai un "mais" :-) ) il y a un petit
problème. Lorque je clic sur le feuille à n'importe quel endroit dans la
plage selectionnée dans le code, c'est toujours la même cellule qui s'active.
De plus si je remplace la données inscrite dans cette cellule (par exemple
si je mets "toto" au lieu de "titi") et que je clic dans ma plage, "toto"
prend la place de "titi" puis revient et repars. En fait, je voudrais pouvoir
"déproteger" ma cellule remplacer "toto" par "titi" puis la proteger de
nouveau et que tout cela reste en place.
Tu vois ce que je veux dire?
Merci en tout cas.Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Cé a écrit dans le message de news:
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
La section que j'ai ajouté fonctionne très bien . Remplace la commande Undo par Msgbox "Ok" ... et tu verras !
Si cela ne fonctionne pas ... c'est que la macro que tu as créé ne répond pas à tes besoins .
Ce que j'ai ajouté à la macro, empêche à la macro de s'exécuter lorsque tu enfonces et maintien la touche "MAJ"
Donc, si tu cliques sur une cellule de la plage A1:B10 tu auras le messag "Ok" sauf si la touche "MAJ" est enfoncée.
Pour ce qui est de ta macro originelle, aucune idée à quoi elle sert ! Difficile de la modifier !!!
Salutations!
"Céline" <Céline@discussions.microsoft.com> a écrit dans le message de news: 399B6987-D087-40E1-9722-1183B7ABC75B@microsoft.com...
Merci beaucoup mais (malheureusement j'ai un "mais" :-) ) il y a un petit
problème. Lorque je clic sur le feuille à n'importe quel endroit dans la
plage selectionnée dans le code, c'est toujours la même cellule qui s'active.
De plus si je remplace la données inscrite dans cette cellule (par exemple
si je mets "toto" au lieu de "titi") et que je clic dans ma plage, "toto"
prend la place de "titi" puis revient et repars. En fait, je voudrais pouvoir
"déproteger" ma cellule remplacer "toto" par "titi" puis la proteger de
nouveau et que tout cela reste en place.
Tu vois ce que je veux dire?
Merci en tout cas.
Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Céline@discussions.microsoft.com> a écrit dans le message de news: 226EFF55-CF01-4C74-8191-E58488305193@microsoft.com...
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline
Bonjour Céline,
La section que j'ai ajouté fonctionne très bien . Remplace la commande Undo par Msgbox "Ok" ... et tu verras !
Si cela ne fonctionne pas ... c'est que la macro que tu as créé ne répond pas à tes besoins .
Ce que j'ai ajouté à la macro, empêche à la macro de s'exécuter lorsque tu enfonces et maintien la touche "MAJ"
Donc, si tu cliques sur une cellule de la plage A1:B10 tu auras le messag "Ok" sauf si la touche "MAJ" est enfoncée.
Pour ce qui est de ta macro originelle, aucune idée à quoi elle sert ! Difficile de la modifier !!!
Salutations!
"Céline" <Cé a écrit dans le message de news:
Merci beaucoup mais (malheureusement j'ai un "mais" :-) ) il y a un petit
problème. Lorque je clic sur le feuille à n'importe quel endroit dans la
plage selectionnée dans le code, c'est toujours la même cellule qui s'active.
De plus si je remplace la données inscrite dans cette cellule (par exemple
si je mets "toto" au lieu de "titi") et que je clic dans ma plage, "toto"
prend la place de "titi" puis revient et repars. En fait, je voudrais pouvoir
"déproteger" ma cellule remplacer "toto" par "titi" puis la proteger de
nouveau et que tout cela reste en place.
Tu vois ce que je veux dire?
Merci en tout cas.Bonjour Céline,
Essaie ceci :
'Dans le haut de ton module Feuille : Déclaration de l'API
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const VK_SHIFT = 16
Dim V As Long
Dim ict1 As Range
Dim ict2 As Range
V = GetKeyState(VK_SHIFT)
If V >= 0 Then
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub
Salutations!
"Céline" <Cé a écrit dans le message de news:
Bonjour à tous et à toutes,
J'ai besoin de vos lumières pour resoudre un petit problème. J'ai cette
macro qui me permet de proteger des cellules en empechant d'y ecrire quelque
chose:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A1:A10"))
Set ict2 = Intersect(Target, Range("B1:B10"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
Le problème c'est que j'aimerais suspendre son action dans certains cas
particuliers. Le mieux se serait que lorsque je maintiens une touche enfoncée
(echap par exemple), l'action de la macro soit annulé et que lorsque je
relache Echap, les cellules soient de nouveau protégées.
Pouvez vous m'aider?
Merci d'avance
céline