Private sub saisie restreinte dans un tableur.

  • Initiateur de la discussion Initiateur de la discussion orphelion
  • 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 !

orphelion

XLDnaute Occasionnel
Bonjour a tous, bonjour le forum,

je souhaite avoir une fonction private pour restreindre les possibilites d'entree sur une colonne de mon tableur.
je ne suis pas sur que mon excel soit configure correctement, car aucune fonction private ne semble se lancer, meme celles recupere sur des livres ou sur le forum...
dois-je configurer quelque chose? Si oui pourriez vous m'indiquer la demarche svp 🙂

Pour le code en tant que tel, l'idee est d'inviter les utilisateurs a rentrer des valeurs numerique ou NR si le resultat n'est pas consistant. tout autre texte ou entree dois etre signaler comme erreur et invite l'utilisateur a recommencer sa saisie.

Voila mon bout de code (rentre dans microsoft excel object):

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "b2:b300" Then
    If IsNumeric(Target) Or Target = "NR" Then Exit Sub
        If Not IsNumeric(Target) And Target <> "NR" Then
        MsgBox "Please enter a number or NR."
      
 'ici j'aimerai efface la cellule notifiee comme non NR ou non numerique et activer la cellule a remplir a nouveau.  
     
        End If
    End If
End If
    
End Sub

Le code tel qu'ecrit devrait se lancer lors de chaque modification sur la colonne b, est ce correct?

deux questions donc:
- Existe il une manipulation a realiser pour activer les private sub? une case a cocher dans les options excel?
- Un petit coup de pouce sur l'ecriture du code serait grandement appreciee comme toujours 🙂

Merci d'avance
 
Re : Private sub saisie restreinte dans un tableur.

Salut orphelion,

1)
Il faut que ton code soit dans la FEUILLE sur laquelle tu veux appliquer la macro. Pas dans un module.

2)
Essaie ceci pour que ton code s'active quand pour les cellules B2:B300 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [b2:b300]) Is Nothing Then
    If IsNumeric(Target) Or Target = "NR" Then Exit Sub
    If Not IsNumeric(Target) And Target <> "NR" Then
        MsgBox "Please enter a number or NR."
        Target.ClearContents
        Target.Select
  
    End If
End If
    
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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
234
Réponses
2
Affichages
123
Réponses
32
Affichages
1 K
Retour