empêcher un éffacement sous condition

  • Initiateur de la discussion andré
  • Date de début
A

andré

Guest
Salut à vous tou(te)s,

Je cherche à empêcher d'effacer une valeur contenue dans une cellule si une autre cellule en contient une.

Exemple :
Je veux effacer la valeur en B1
Si A1 contient une valeur, l'effacement m'est refusé (avec ou sans message d'erreur)
Si A1 est vide, je puis effacer.

J'ai eu beau essayer par Validation, mais sans y parvenir.
Il me semble que par VBA (évenementielle) cela doit être possible, mais là je jette l'éponge !
Même les idées saugrenues sont les bienvenues (lol).

Ândré.
 
L

Lord Nelson

Guest
Salut André,

En VBA, cela donnerait quelque chose comme ça :

'en code général de la feuille
Dim Tampon

Private Sub Worksheet_Activate()
Tampon = Range("B1")
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
If Target.Value = "" Then
If Range("A1").Value <> "" Then
Target = Tampon
MsgBox "Effacement impossible"
End If
Else
Tampon = Target
End If
End If
End Sub

La variable Tampon retient la valeur de B1 à chaque changement.
Lorsque l'évènement change survient, l'effacement de la donnée contenue en B1 s'est déjà produit. Donc, si l'effacement est interdit, on rétablit B1 avec la valeur Tampon.
CQFD

A+
LN
 
M

myDearFriend

Guest
Bonjour André, Lord Nelson, le Forum,

Comme j'avais moi aussi préparé un petit bricolage pour André, je le joins quand même au cas où...

Cordialement.
Didier
 

Pièces jointes

  • PourAndre.zip
    10.3 KB · Affichages: 32

Discussions similaires

Réponses
13
Affichages
645

Statistiques des forums

Discussions
312 389
Messages
2 087 935
Membres
103 678
dernier inscrit
bibitm