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

XL 2019 Target ne s'exécute pas si je valide ma cellule vide

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous
Je vous souhaite un beau WE

Je bute sur un cas que je n'avais rencontré et je ne trouve pas le bon code malgré mes recherches.
Comme d'hab, j'en appelle à nos ténors....

Je travail sur 2 codes
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not Intersect(R, Range("d5:d11")) Is Nothing Then
    Application.EnableEvents = False
    R = ""
    R.Select
    Application.EnableEvents = True
    'Exit Sub
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("d5:d11")) Is Nothing Then
    Application.EnableEvents = False
        If Target = "" Then
        Target = "mettez un truc"
        End If
        Target = Target.Value
        [a1].Select
        Application.EnableEvents = True
End If
End Sub
Le contexte au clic dans les cellules "D5 : D11"
Je saisis une somme qui se valide avec le code "Target"
Si je mets la cellule "à blanc" Target prends la valeur "mettez un truc"
Jusque-là tout va bien lol

Voici mon besoin
J'ai aussi le code "SelectionChange" qui vide d'abord la cellule au clic
La cellule se trouve donc vide.

Je voudrais si je valide (entrée) la cellule en la laissant vide :
Que Target s'exécute et que la cellule prenne la valeur "mettez un truc"
Autrement dit, que Target s'exécute même si je valide la cellule vide

Auriez-vous le bon code ?
En cas, je joins un petit fichier test.
Merci à toutes et à tous...
 

Pièces jointes

  • test target.xlsm
    17.6 KB · Affichages: 5

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

On doit pouvoir aussi le faire comme ça :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Not Intersect(Target, Range("d5:d11")) Is Nothing Then
      Application.EnableEvents = False: On Error Resume Next
      Range("d5:d11").SpecialCells(xlCellTypeBlanks) = "mettez un truc"
      On Error GoTo 0: Application.EnableEvents = True
   End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
   Worksheet_SelectionChange Target
End Sub
 

Discussions similaires

Réponses
1
Affichages
268
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…