Microsoft 365 Validation de cellulle

Keiko

XLDnaute Occasionnel
Bonjour à tous,

je souhaiterais qu'on puisse écrire dans D156 si et seulement si dans la cellule D!BC8 il est stiuplé "HUAWEI".

Que pouvez-vous me proposer comme solution?

Je ne vois pas comment faire avec la validation de données et une macro.

Help :)
 

jm.andryszak

XLDnaute Occasionnel
bonjour
A tester

Option Explicit
Dim Target_Old
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("b3")) Is Nothing And UCase(Range("d3")) = "HUAWEI" Then
Target_Old = Target

ElseIf Not Intersect(Target, Range("b3")) Is Nothing And UCase(Range("d3")) <> "HUAWEI" Then
Target = Target_Old
End If
End Sub
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

Avec une validation des données en D156 (sans macro) :
1669316553047.png
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Le souci est qu'ils peuvent quand même noter dedans si avant ils ont rempli HUAWEI.
Car ca ne revient pas en arrière.
Quelqu'un aurait la solution en macro?

Voir le fichier joint.

Le code dans le module de la feuille "Feuil1" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("d156")) Is Nothing Then
      If LCase(Sheets("d").Range("bc8")) <> LCase("HUAWEI") Then
         Application.EnableEvents = False
         Range("d156").ClearContents
         Application.EnableEvents = True
         Beep
      End If
   End If
End Sub

Le code dans le module de la feuille "D" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("bc8")) Is Nothing Then
      If LCase(Range("bc8")) <> LCase("HUAWEI") Then
         Application.EnableEvents = False
         Sheets("Feuil1").Range("d156").ClearContents
         Application.EnableEvents = True
         Beep
      End If
   End If
End Sub

nota : les lignes BEEP peuvent être supprimées.
 

Pièces jointes

  • Keiko- Validation saisie- v1.xlsm
    17.2 KB · Affichages: 6

Keiko

XLDnaute Occasionnel
Re,



Voir le fichier joint.

Le code dans le module de la feuille "Feuil1" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("d156")) Is Nothing Then
      If LCase(Sheets("d").Range("bc8")) <> LCase("HUAWEI") Then
         Application.EnableEvents = False
         Range("d156").ClearContents
         Application.EnableEvents = True
         Beep
      End If
   End If
End Sub

Le code dans le module de la feuille "D" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("bc8")) Is Nothing Then
      If LCase(Range("bc8")) <> LCase("HUAWEI") Then
         Application.EnableEvents = False
         Sheets("Feuil1").Range("d156").ClearContents
         Application.EnableEvents = True
         Beep
      End If
   End If
End Sub

nota : les lignes BEEP peuvent être supprimées.
Cela marche super aussi.
Mais il y a encore un mais et je pensais que ca fonctionnerait avec le code.
Mais si HUAWEI dans D!BC8 est bien encodé on peut remplir la cellule D156.
Mais si je viens à effacer D!BC8 ou changer de produit il n'efface pas D156.
Aurais tu une solution?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,
Mais il y a encore un mais et je pensais que ca fonctionnerait avec le code.
Mais si HUAWEI dans D!BC8 est bien encodé on peut remplir la cellule D156.
Mais si je viens à effacer D!BC8 ou changer de produit il n'efface pas D156.
Aurais tu une solution?
Chez moi, quand D!BC8 est différent de "HUAWEI", D156 est effacée.
Attention, la cellule D156 n'a pas de validation de données !!!
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Je viens de voir.
Comme la cellule Huawei est une cellule ou il y a déja un code index dans une colonne.
Ben ca ne prend pas en compte la réponse comme si on ne l'avait pas érit...
Alors que la réponse change :/
Là je ne comprend pas la remarque o_O. Je ne sais même pas ce que c'est que "un code index dans une colonne".

Fournissez votre classeur en cause? On verra plus clair.
 

Discussions similaires

Réponses
2
Affichages
237

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin