Besoin d'Aide pour Compléter cette Macro

Mister Binaire

XLDnaute Occasionnel
Bonjour le Forum,


Concernant cette macro (voir ci-dessous) qui empêche la saisie des datas si une valeur n'est pas rentrée en C2 ou D2, à ce jour je dois sélectionner manuellement (C2 ou D2) Serait il possible de faire une sorte de condition dans la macro en disant : si C2 ou D2 sont vides alors impossible de rentrer les datas sinon rentrer les datas ??

je voudrais également SVP qu'une fenêtre s'affiche si la personne essaye de rentrer les datas sans avoir rien mis en C2 ou D2 du Style "Attention, vous ne pouvez pas rentrer vos datas sans spécifications"

Merci de votre aide !!

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Columns(2), Target) Is Nothing Then
If Not Range("C2") <> "" Then Target.ClearContents 'C2= Spec mini D2= Spec Maxi
End If
End Sub
 

Mister Binaire

XLDnaute Occasionnel
Re : Besoin d'Aide pour Compléter cette Macro

Merci de ton aide Pierrot 93.

Mais malheureusement la macro plante.
Soit avec le message d'erreur "espace pile insuffisant"
ou la MsgBox apparaît bien mais il est impossible de la faire disparaître en cliquant sur "Ok" ??
Merci à tous ceux et toutes celles qui pourront m'aider !!

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Columns(2), Target) Is Nothing Then
If Range("C2") = "" Or Range("D2") ="" Then Target.ClearContents: MsgBox "Attention..."
End If
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Besoin d'Aide pour Compléter cette Macro

Re,

modifie comme suit :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Columns(2), Target) Is Nothing Then
     If Range("C2") = "" Or Range("D2") = "" Then
        On Error GoTo fin
        Application.EnableEvents = False
        Target.ClearContents
        MsgBox "Attention..."
     End If
 End If
fin:
Application.EnableEvents = True
End Sub
 

Mister Binaire

XLDnaute Occasionnel
Re : Besoin d'Aide pour Compléter cette Macro

Merci une fois de plus de ton Aide Pierrot93.

La macro cette fois ci ne plante plus.

Cependant, il faut impérativement que les deux valeurs en C2 & D2 soient rentrés pour que cette dernière fonctionne.

Ce que je voulais c'est que : Si une valeur est rentrée en C2 ou D2 alors je peux écrire mes datas en colonne B sinon le message apparaît.

Peux-tu m'aider stp à ce sujet ?

Te remerciant par avance..
 

Pierrot93

XLDnaute Barbatruc
Re : Besoin d'Aide pour Compléter cette Macro

Bonjour,

Cependant, il faut impérativement que les deux valeurs en C2 & D2 soient rentrés pour que cette dernière fonctionne.

bah... c'est bien ce que le code proposé contrôle... tu ne peux saisir en colonne B que si C2 et D2 sont renseignées...

contradictoire avec cela d'ailleurs...
Si une valeur est rentrée en C2 ou D2 alors je peux écrire mes datas en colonne B sinon le message apparaît.

bonne journée
@+
 

Mister Binaire

XLDnaute Occasionnel
Re : Besoin d'Aide pour Compléter cette Macro

Merci de ta réponse Pierrot 93.

Justement le code ne me convient pas.

Ce que je désirerai c'est : Si une valeur est rentré dans C2 OU D2 mais pas forcément dans les deux alors je peux écrire mes datas sinon je ne peux pas et la fenêtre apparaît.

Espérant avoir été clair à ce sujet.

Te remerciant par avance..
 

Pierrot93

XLDnaute Barbatruc
Re : Besoin d'Aide pour Compléter cette Macro

Re,

essaye comme ceci alors :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Columns(2), Target) Is Nothing Then
    If Application.CountA(Range("C2:D2")) = 0 Then
        On Error GoTo fin
        Application.EnableEvents = False
        Target.ClearContents
        MsgBox "Attention..."
    End If
End If
fin:
Application.EnableEvents = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 117
dernier inscrit
augustin.morille