Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Cellule non vide si je suprime le contenu

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ilino

XLDnaute Barbatruc
Bonjour Forum
je cherche un code VBA pour afficher la valeur 1 par defaut si je supprime le contenu de la cellule
ex: si dans la cellule F36 = 5 si je le suprime j'aurai par defaut 1( c a d pas de vide) dans la cellule F36
GRAZIE
 
Re : Cellule non vide si je suprime le contenu

Bonsoir Ilino,

Ci-joint un classeur exemple avec une procédure événementielle Worksheet_Change dans le module Feuil1.

J'ai arbitrairement fixé la zone d'action aux cellules A1:E10. Il te suffit de modifier cette référence pour l'adapter à ton fichier.

A +

Cordialement.
 

Pièces jointes

Re : Cellule non vide si je suprime le contenu

Bonsoir Ilino, bonsoir le forum,

Ilino, rien ne t'empêche de mettre un petit fichier exemple en pièce jointe pour illustrer tes problèmes. Ça nous éviterait de le faire à ta place...
En pièce jointe, un exemple avec le code commenté ci-dessous :

Code:
Private TEST As Boolean 'déclare la variable TEST

Private Sub Worksheet_Change(ByVal Target As Range)
Dim PL As Range 'déclare la variable pl (PLage)

If TEST = True Then TEST = False: Exit Sub 'si TEST est vrai, TEST devient faux, sort de la procédure
Set PL = Range("A1:A10") 'définit la plage PL (à adapter à ton cas)
If Application.Intersect(Target, PL) Is Nothing Then Exit Sub 'si le cha gement a lieu ailleurs que dans la plage PL, sort de la procédure
If Target.Cells.Count > 1 Then Exit Sub 'si plusieurs cellules sélectionnées, sort de la procédure
If Target.Value = "" Then 'condition : si la cellule est effacée
    TEST = True 'définit la variable TEST
    Target.Value = 1 'écrit 1 dans la cellule
End If 'fin de la condition
End Sub
Le fichier :

[Édition]
Se faire griller par Papou-net m'est coutumier, mais se faire humilier de la sorte avec un code aussi limpide que bref c'est à se photographier avant/après pour une pub pour les lotions capillaires...

 

Pièces jointes

Dernière édition:
Re : Cellule non vide si je suprime le contenu

Bonsoir Ilino, bonsoir le forum

Dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "0" Then Target.Value = "1"
End Sub


Cdt
Pat
 
Re : Cellule non vide si je suprime le contenu

Bonjour Papou net
merci pour la réponse mais malheureusement ça n'a pas marché j'ai un message d'erreur 28 Espace pile insuffisant
A+

Bizarre, j'ai testé et ça fonctionne. Excel a parfois ses préférences?

A tout hasard, et si tu le veux bien, essaies avec le code suivant:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("A1:E10"), Target) Is Nothing Then
  Target = IIf(Target = "", 1, Target)
End If
Application.EnableEvents = True
End Sub

Cordialement.


PS: Bonsoir Robert, bonsoir patoq.
 
Re : Cellule non vide si je suprime le contenu

Bonsoir Forum, Robert
voila j'ai teste ton code ça marche Nickel MAIS apres avoir l'adapter avec la solution de MODESTE ( dans le fil suivant : https://www.excel-downloads.com/thr...de-deux-tableaux-selon-des-conditions.222330/) j'ai trouvé des dificultés
A+
 
Re : Cellule non vide si je suprime le contenu

Bonsoir le fil, bonsoir le forum,

Plutôt qu'un lien vers une discussion des trois pages, mets donc le fichier en pièce jointe. Ça nous évitera de perdre du temps...
 
Re : Cellule non vide si je suprime le contenu

Re-bonsoir Ilino,
Salut Patoq, Papou-net et Robert,

Ilino, ce n'est pas très sérieux de demander à trois personnes de trouver une solution à un problème que tu n'expliques pas ... simplement parce que tu n'as aucune patience 😡
 
Re : Cellule non vide si je suprime le contenu

Bonjour à tous,

Bah pour décrasser les neurones :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
[A1:E10].SpecialCells(xlCellTypeBlanks) = 1
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
214
Réponses
10
Affichages
346
Réponses
10
Affichages
585
Réponses
15
Affichages
662
Réponses
2
Affichages
349
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…