Dans une formule que j'ai protéger par une validation "en avertissement" car
il pourrait y avoir des exceptions et que l'on doivent taper dessus, je
voudrais également empecher que l'à cellule puisse etre vide.
En fait, soit j'ai ma formule, soit je l'ecrase par quelque chose. Mais dans
tous les cas il faut que ce soit impossible de supprimer le contenu.
Possible or not possible ?
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
Daniel
Bonsoir. Dans un module : Public ResFormule As String Dans le code de ta feuille :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Value = "" Then MsgBox "Fais gaffe à ta saisie" Application.EnableEvents = False Target.Formula = ResFormule Application.EnableEvents = True Target.Offset(1, 0).Select End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ResFormule = Target.Formula End Sub
Note que la macro se déclenche pour toute les cellules de la feuille. Il faut sans doute limiter le champ d'action. Cordialement. Daniel "Manu" a écrit dans le message de news:
Bonjour,
Dans une formule que j'ai protéger par une validation "en avertissement" car il pourrait y avoir des exceptions et que l'on doivent taper dessus, je voudrais également empecher que l'à cellule puisse etre vide. En fait, soit j'ai ma formule, soit je l'ecrase par quelque chose. Mais dans tous les cas il faut que ce soit impossible de supprimer le contenu. Possible or not possible ?
Merci Manu
Bonsoir.
Dans un module :
Public ResFormule As String
Dans le code de ta feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then
MsgBox "Fais gaffe à ta saisie"
Application.EnableEvents = False
Target.Formula = ResFormule
Application.EnableEvents = True
Target.Offset(1, 0).Select
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ResFormule = Target.Formula
End Sub
Note que la macro se déclenche pour toute les cellules de la feuille. Il
faut sans doute limiter le champ d'action.
Cordialement.
Daniel
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de news:
uz7eSALOHHA.324@TK2MSFTNGP06.phx.gbl...
Bonjour,
Dans une formule que j'ai protéger par une validation "en avertissement"
car il pourrait y avoir des exceptions et que l'on doivent taper dessus,
je voudrais également empecher que l'à cellule puisse etre vide.
En fait, soit j'ai ma formule, soit je l'ecrase par quelque chose. Mais
dans tous les cas il faut que ce soit impossible de supprimer le contenu.
Possible or not possible ?
Bonsoir. Dans un module : Public ResFormule As String Dans le code de ta feuille :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Value = "" Then MsgBox "Fais gaffe à ta saisie" Application.EnableEvents = False Target.Formula = ResFormule Application.EnableEvents = True Target.Offset(1, 0).Select End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ResFormule = Target.Formula End Sub
Note que la macro se déclenche pour toute les cellules de la feuille. Il faut sans doute limiter le champ d'action. Cordialement. Daniel "Manu" a écrit dans le message de news:
Bonjour,
Dans une formule que j'ai protéger par une validation "en avertissement" car il pourrait y avoir des exceptions et que l'on doivent taper dessus, je voudrais également empecher que l'à cellule puisse etre vide. En fait, soit j'ai ma formule, soit je l'ecrase par quelque chose. Mais dans tous les cas il faut que ce soit impossible de supprimer le contenu. Possible or not possible ?
Merci Manu
JB
Bonsoir,
http://cjoint.com/?bpvvmcGoIA
On ne peut pas effacer (gère la sélection de plusieurs cellules)
Dim MémoAvant() Private Sub Worksheet_SelectionChange(ByVal Target As Range) ReDim MémoAvant(Target.Count) For i = 1 To Target.Count MémoAvant(i) = Target(i) Next i End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Application.EnableEvents = False If Target(1) = "" Then For i = 1 To UBound(MémoAvant) Target(i) = MémoAvant(i) Next i End If If Target(1) <> "" Then MémoAvant(1) = Target(1) Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Activate() [A1].Select End Sub
JB
Bonjour,
Dans une formule que j'ai protéger par une validation "en avertissement " car il pourrait y avoir des exceptions et que l'on doivent taper dessus, je voudrais également empecher que l'à cellule puisse etre vide. En fait, soit j'ai ma formule, soit je l'ecrase par quelque chose. Mais d ans tous les cas il faut que ce soit impossible de supprimer le contenu. Possible or not possible ?
Merci Manu
Bonsoir,
http://cjoint.com/?bpvvmcGoIA
On ne peut pas effacer (gère la sélection de plusieurs cellules)
Dim MémoAvant()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ReDim MémoAvant(Target.Count)
For i = 1 To Target.Count
MémoAvant(i) = Target(i)
Next i
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
If Target(1) = "" Then
For i = 1 To UBound(MémoAvant)
Target(i) = MémoAvant(i)
Next i
End If
If Target(1) <> "" Then MémoAvant(1) = Target(1)
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_Activate()
[A1].Select
End Sub
JB
Bonjour,
Dans une formule que j'ai protéger par une validation "en avertissement " car
il pourrait y avoir des exceptions et que l'on doivent taper dessus, je
voudrais également empecher que l'à cellule puisse etre vide.
En fait, soit j'ai ma formule, soit je l'ecrase par quelque chose. Mais d ans
tous les cas il faut que ce soit impossible de supprimer le contenu.
Possible or not possible ?
On ne peut pas effacer (gère la sélection de plusieurs cellules)
Dim MémoAvant() Private Sub Worksheet_SelectionChange(ByVal Target As Range) ReDim MémoAvant(Target.Count) For i = 1 To Target.Count MémoAvant(i) = Target(i) Next i End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Application.EnableEvents = False If Target(1) = "" Then For i = 1 To UBound(MémoAvant) Target(i) = MémoAvant(i) Next i End If If Target(1) <> "" Then MémoAvant(1) = Target(1) Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Activate() [A1].Select End Sub
JB
Bonjour,
Dans une formule que j'ai protéger par une validation "en avertissement " car il pourrait y avoir des exceptions et que l'on doivent taper dessus, je voudrais également empecher que l'à cellule puisse etre vide. En fait, soit j'ai ma formule, soit je l'ecrase par quelque chose. Mais d ans tous les cas il faut que ce soit impossible de supprimer le contenu. Possible or not possible ?