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 le contenu d'une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut controler le contenu d'une cellule
    Bonjour,

    j'ai une requete intégrée dans une macro, dans la requete j'ai des variables que j'ai déclaré "String", la macro marche à merveille.
    Mon souci c'est que je veux mettre un contrôle au niveau d'une variable.
    en fait j'ai associé cette variable à une cellule(ou plutôt à une valeur d'une cellule ex: mavariable=range("a1").value)
    l'utilisateur doit saisir cette valeur.
    sachant que la cellule est au format texte, et que les valeurs saisies sont du style( 456,879,...) elles doivent obligatoirement être séparées par des virgules.
    Le contrôle que je veux mettre c quand l'utilisateur rempli la cellule en question, il faudra contrôler son contenu càd contrôler si les chiffres sont séparés par des virgules (3 chiffres puis une virgule et ainsi de suite)
    si celà n'est pas respecté y aura un exit sub.
    j'espère que je suis clair.
    D'avance merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Casavba,

    Un exemple parmi d'autres (en supposant qu'après le dernier nombre il n'y a pas de virgule sinon il faut mettre : nbsep = lg / 4) :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    nb = 0
    lg = Len(mavariable)
    nbsep = (lg - 3) / 4
    For i = 1 To nbsep
    nb = nb + 4
    mc = Mid(mavariable, nb, 1)
    If mc <> "," Then
    MsgBox "Format non respecté" & mavariable & "!"
    Exit Sub
    End If
    Next i

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ou sinon, dans la feuille de code de la feuille de calculs pour avoir un contrôle au moment de la saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ok As Boolean
        ok = True
        If Target.Address(False, False) = "A1" Then
            For i = 4 To Len(Target) - 3 Step 4
                ok = ok And Mid(Target, i, 1) = ","
            Next
        End If
        If Not ok Then
            MsgBox "erreur de saisie, les points doivent être des virgules ^^^"
            Target.Select
        End If
    End Sub

  4. #4
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    Merci à jacques et Modérateur

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

Discussions similaires

  1. [VBA-E]contenu d'une cellule gestion erreur macro
    Par matou_aouh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/03/2006, 11h18
  2. [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
  3. [VBA]Copier le contenu d'une cellule d'un autre classeur
    Par dudu59 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/02/2006, 18h08
  4. Réponses: 3
    Dernier message: 27/01/2006, 19h35
  5. Importer le contenu d'une cellule Excel vers Access
    Par deaqu1 dans le forum Access
    Réponses: 7
    Dernier message: 05/11/2005, 16h26

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