Empêcher de supprimer données dans une cellule avec une liste déroulante

Prince1978

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je voudrais savoir s'il était possible d'empêcher de supprimer les données se trouvant dans une cellule avec une liste déroulante à l'intérieur...Réalisé depuis la validation de données.

Info plus : J'aimerais que la cellule ne soit jamais vide, avoir le choix seulement entre "Fournisseur" et "Client"

Merci
 

Pièces jointes

  • Fouad.xlsm
    7.3 KB · Affichages: 60
  • Fouad.xlsm
    7.3 KB · Affichages: 65
  • Fouad.xlsm
    7.3 KB · Affichages: 68

kjin

XLDnaute Barbatruc
Re : Empêcher de supprimer données dans une cellule avec une liste déroulante

Bonjour,
Dans le menu Validation:
- dans options, décoche "Ignorer si vide"
- dans Alerte, coche "Quand des données non valide sont tapées"
Après avoir sélectionné un item dans la liste, il ne sera plus possible de taper autre chose ni d'effacer, à moins de modifier la validation si la feuille n'est pas protégée
A+
kjin
 

kjin

XLDnaute Barbatruc
Re : Empêcher de supprimer données dans une cellule avec une liste déroulante

Re,
Capt-1529511.jpg
Capt-1529512.jpg
A+
kjin
 

Prince1978

XLDnaute Nouveau
Re : Empêcher de supprimer données dans une cellule avec une liste déroulante

Bonsoir,

Y'a que moi qui a ce problème?

J'ai fait mot à mot se que tu m'as dit, mais j'arrive quand même à supprimer des données, j'ai le message que si je saisie quelque chose dans la cellule.

Bonne nuit
 

kjin

XLDnaute Barbatruc
Re : Empêcher de supprimer données dans une cellule avec une liste déroulante

Bonsoir,
Je suppose supprimer par le biais du menu contectuel (effacer le contenu)
En vba, dans le module de la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Target = "" Then Application.Undo
End Sub
A+
kjin
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Empêcher de supprimer données dans une cellule avec une liste déroulante

Bonsoir,
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:b1")) Is Nothing Then Exit Sub
If [A1] = "" And [B1] = "" Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub
Vba et les cellules fusionnées ne font pas bon ménage, déconseillé
A+
kjin
 

Discussions similaires

Réponses
8
Affichages
471

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom