IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Controler la saisie d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Controler la saisie d'une cellule
    bonjour tout le monde j'ai un souci d'excel je veux savoir comment je peux
    controler la saisie d'une cellule excel par exemple je veux que la valeur de la cellule soit numérique et soit composé de 5 chiffres seulement

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Conformément à ce que tu demandes... ("5 chiffres" me parait bizarre, car 12345 c'est ok, mais 1.2345 aussi)

    A mettre dans le module de la feuille en question. Controle sur la plage de saisie A1:A5 (donc a adapter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim sRange As Range, sCell As Range
        Set sRange = Range("A1:A5") 'zone de saisie
        If Not Intersect(Target, sRange) Is Nothing Then
        ' verifie seulement les cellules modifiées dans la plage de saisie
            For Each sCell In Intersect(Target, sRange)
                If sCell <> "" Then ' ignore les cellules vides
                    If Not IsNumeric(sCell) Then  ' non numerique
                        MsgBox "Erreur cellule [" & sCell.Address(False, False) & "] : non numerique"
                    Else  ' controle des 5 chiffres
                        ' donc 12345 = ok, 1.2345 = ok aussi
                        temp = CStr(sCell.Value)
                            ' supprime les virgules
                        temp = Replace(temp, ",", "", , , vbTextCompare)
                        temp = Replace(temp, ".", "", , , vbTextCompare)
                        If Len(temp) <> 5 Then ' 5 chiffres exactement
                            MsgBox "Erreur cellule [" & sCell.Address(False, False) & "] : 5 chiffres max"
                        End If
                    End If
                End If
            Next sCell
        End If
    End Sub

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 120
    Points : 181
    Points
    181
    Par défaut
    Salut le forum

    Sans macro

    Données > Validation
    Autoriser > Nombre entiers
    Données > Comprise entre
    Minimum > 10000
    Maximum > 99999

    Mytå_Qc

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 9
    Points
    9
    Par défaut merci de l'aide
    est ce qu'il y a une autre fonction que isnumeric() qui controle la saisie
    des chaines des caracteres

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 150
    Points
    20 150
    Par défaut
    bonjour

    As tu essayé la solution proposée par Myta?



    est ce qu'il y a une autre fonction que isnumeric() qui controle la saisie
    des chaines des caracteres
    http://silkyroad.developpez.com/VBA/...nesCaracteres/


    bonne journée
    michel

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 9
    Points
    9
    Par défaut ca marche
    salut ca marche merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. controler les saisies dans une cellule
    Par lecaire dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/05/2008, 20h14
  2. Réponses: 3
    Dernier message: 19/08/2007, 03h04
  3. Réponses: 2
    Dernier message: 22/04/2007, 15h27
  4. [VBA-E]controle de saisie dans une cellule
    Par greg778 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/03/2006, 17h43
  5. Controle de saisie sur une liste déroulante
    Par antier dans le forum IHM
    Réponses: 3
    Dernier message: 07/12/2005, 06h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo