Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une
mise en forme conditionnelle (donc ne pas protéger sa feuille) et des
cellules contenant des formules (donc à protéger...). J'ai déjà trouvé dans
le forum comment protéger 1 cellule par VBA mais comment faire pour définir
une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque car
la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
Application.Undo
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
le forum comment protéger 1 cellule par VBA
Il y a une confusion entre protection et verrouillage Les cellules sont verrouillées ou non (elles le sont toutes par défaut dans une nouvelle feuille) Le verrouillage (format de cellule) n'a d'effet que sur une feuille protégée Donc : Déverrouiller les cellules dans lesquelles tu veux autoriser la saisie puis protéger la feuille
AV
le forum comment protéger 1 cellule par VBA
Il y a une confusion entre protection et verrouillage
Les cellules sont verrouillées ou non (elles le sont toutes par défaut dans une
nouvelle feuille)
Le verrouillage (format de cellule) n'a d'effet que sur une feuille protégée
Donc : Déverrouiller les cellules dans lesquelles tu veux autoriser la saisie
puis protéger la feuille
Il y a une confusion entre protection et verrouillage Les cellules sont verrouillées ou non (elles le sont toutes par défaut dans une nouvelle feuille) Le verrouillage (format de cellule) n'a d'effet que sur une feuille protégée Donc : Déverrouiller les cellules dans lesquelles tu veux autoriser la saisie puis protéger la feuille
AV
LSteph
Bonsoir Congelatoir, '*** Private Sub Worksheet_Change(ByVal Target As Range) Dim ict1 As Range Dim ict2 As Range Set ict1 = Intersect(Target, Range("A5:a17")) Set ict2 = Intersect(Target, Range("ag5:ai17")) If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub With Application .EnableEvents = False .Undo .EnableEvents = True End With End Sub '***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une mise en forme conditionnelle (donc ne pas protéger sa feuille) et des cellules contenant des formules (donc à protéger...). J'ai déjà trouvé dans le forum comment protéger 1 cellule par VBA mais comment faire pour définir une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque car la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" Then Application.Undo End If End Sub
Si quelqu'un a une solution, merci d'avance
Céd -- Céd / Lausanne
Bonsoir Congelatoir,
'***
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A5:a17"))
Set ict2 = Intersect(Target, Range("ag5:ai17"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End Sub
'***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de
news: 4214629B-1520-40DC-A990-6B4E15B74763@microsoft.com...
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une
mise en forme conditionnelle (donc ne pas protéger sa feuille) et des
cellules contenant des formules (donc à protéger...). J'ai déjà trouvé
dans
le forum comment protéger 1 cellule par VBA mais comment faire pour
définir
une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque
car
la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
Application.Undo
End If
End Sub
Bonsoir Congelatoir, '*** Private Sub Worksheet_Change(ByVal Target As Range) Dim ict1 As Range Dim ict2 As Range Set ict1 = Intersect(Target, Range("A5:a17")) Set ict2 = Intersect(Target, Range("ag5:ai17")) If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub With Application .EnableEvents = False .Undo .EnableEvents = True End With End Sub '***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une mise en forme conditionnelle (donc ne pas protéger sa feuille) et des cellules contenant des formules (donc à protéger...). J'ai déjà trouvé dans le forum comment protéger 1 cellule par VBA mais comment faire pour définir une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque car la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" Then Application.Undo End If End Sub
Si quelqu'un a une solution, merci d'avance
Céd -- Céd / Lausanne
Congelator
Salut LSteph,
Un grand MERCI pour ton aide. C'est exactement ce dont j'avais besoin.
Céd
"LSteph" wrote:
Bonsoir Congelatoir, '*** Private Sub Worksheet_Change(ByVal Target As Range) Dim ict1 As Range Dim ict2 As Range Set ict1 = Intersect(Target, Range("A5:a17")) Set ict2 = Intersect(Target, Range("ag5:ai17")) If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub With Application ..EnableEvents = False ..Undo ..EnableEvents = True End With End Sub '***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une mise en forme conditionnelle (donc ne pas protéger sa feuille) et des cellules contenant des formules (donc à protéger...). J'ai déjà trouvé dans le forum comment protéger 1 cellule par VBA mais comment faire pour définir une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque car la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" Then Application.Undo End If End Sub
Si quelqu'un a une solution, merci d'avance
Céd -- Céd / Lausanne
Salut LSteph,
Un grand MERCI pour ton aide. C'est exactement ce dont j'avais besoin.
Céd
"LSteph" wrote:
Bonsoir Congelatoir,
'***
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A5:a17"))
Set ict2 = Intersect(Target, Range("ag5:ai17"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
'***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de
news: 4214629B-1520-40DC-A990-6B4E15B74763@microsoft.com...
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une
mise en forme conditionnelle (donc ne pas protéger sa feuille) et des
cellules contenant des formules (donc à protéger...). J'ai déjà trouvé
dans
le forum comment protéger 1 cellule par VBA mais comment faire pour
définir
une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque
car
la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
Application.Undo
End If
End Sub
Un grand MERCI pour ton aide. C'est exactement ce dont j'avais besoin.
Céd
"LSteph" wrote:
Bonsoir Congelatoir, '*** Private Sub Worksheet_Change(ByVal Target As Range) Dim ict1 As Range Dim ict2 As Range Set ict1 = Intersect(Target, Range("A5:a17")) Set ict2 = Intersect(Target, Range("ag5:ai17")) If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub With Application ..EnableEvents = False ..Undo ..EnableEvents = True End With End Sub '***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une mise en forme conditionnelle (donc ne pas protéger sa feuille) et des cellules contenant des formules (donc à protéger...). J'ai déjà trouvé dans le forum comment protéger 1 cellule par VBA mais comment faire pour définir une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque car la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" Then Application.Undo End If End Sub
Si quelqu'un a une solution, merci d'avance
Céd -- Céd / Lausanne
LSteph
;-) à bientôt
lSteph "Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut LSteph,
Un grand MERCI pour ton aide. C'est exactement ce dont j'avais besoin.
Céd
"LSteph" wrote:
Bonsoir Congelatoir, '*** Private Sub Worksheet_Change(ByVal Target As Range) Dim ict1 As Range Dim ict2 As Range Set ict1 = Intersect(Target, Range("A5:a17")) Set ict2 = Intersect(Target, Range("ag5:ai17")) If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub With Application ..EnableEvents = False ..Undo ..EnableEvents = True End With End Sub '***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une mise en forme conditionnelle (donc ne pas protéger sa feuille) et des cellules contenant des formules (donc à protéger...). J'ai déjà trouvé dans le forum comment protéger 1 cellule par VBA mais comment faire pour définir une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque car la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" Then Application.Undo End If End Sub
Si quelqu'un a une solution, merci d'avance
Céd -- Céd / Lausanne
;-) à bientôt
lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de
news: 0F0FBFCA-7161-4D02-8D20-90A83F54ACDE@microsoft.com...
Salut LSteph,
Un grand MERCI pour ton aide. C'est exactement ce dont j'avais besoin.
Céd
"LSteph" wrote:
Bonsoir Congelatoir,
'***
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ict1 As Range
Dim ict2 As Range
Set ict1 = Intersect(Target, Range("A5:a17"))
Set ict2 = Intersect(Target, Range("ag5:ai17"))
If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub
With Application
..EnableEvents = False
..Undo
..EnableEvents = True
End With
End Sub
'***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message
de
news: 4214629B-1520-40DC-A990-6B4E15B74763@microsoft.com...
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec
une
mise en forme conditionnelle (donc ne pas protéger sa feuille) et des
cellules contenant des formules (donc à protéger...). J'ai déjà trouvé
dans
le forum comment protéger 1 cellule par VBA mais comment faire pour
définir
une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou
presque
car
la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
Application.Undo
End If
End Sub
lSteph "Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut LSteph,
Un grand MERCI pour ton aide. C'est exactement ce dont j'avais besoin.
Céd
"LSteph" wrote:
Bonsoir Congelatoir, '*** Private Sub Worksheet_Change(ByVal Target As Range) Dim ict1 As Range Dim ict2 As Range Set ict1 = Intersect(Target, Range("A5:a17")) Set ict2 = Intersect(Target, Range("ag5:ai17")) If ict1 Is Nothing And ict2 Is Nothing Then Exit Sub With Application ..EnableEvents = False ..Undo ..EnableEvents = True End With End Sub '***
'lSteph
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de news:
Salut à tous,
Un utilisateur me pose une colle. Il doit "mélanger" des cellules avec une mise en forme conditionnelle (donc ne pas protéger sa feuille) et des cellules contenant des formules (donc à protéger...). J'ai déjà trouvé dans le forum comment protéger 1 cellule par VBA mais comment faire pour définir une plage de cellules (A5:A17 et AG5:AI17) ? J'ai tout essayé (ou presque car la solution existe..) mais je n'y arrive pas ?
Voici le code déjà trouvé : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" Then Application.Undo End If End Sub