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 :

Code Condition IF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut Code Condition IF
    Bonjour,

    J'ai créé un bouton qui permet d'ajouter un tableau. Le bouton affiche un userform contenant un textbox. Voici le format que l'on doit marquer dans ce textbox:

    -2011/2012
    -2013/2014
    -etc...

    J'aimerai créer une condition qui dise: si xxxx"/"xxxx = true alors exécute mon code sinon. Mon problème est de savoir comment dire cela en code.

    Quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If TextBox1= Year & "/" & Year + 1 = True Then
     
       'exécute mon code
    Else
    OU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If TextBox1 = Format(yyyy) & "/" & Format(yyyy) = True Then
    Cdt,

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Une solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Tablo() As String
        Tablo = Split(Me.TextBox1.Value, "/")
        If Tablo(1) - Tablo(0) = 1 Then
            MsgBox "Correct !"
        Else
            MsgBox "Incorrect !"
        End If
    Cordialement.

  3. #3
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Tout d'abord merci beaucou pour ton temps pris.
    J'ai essayé ton code quand je marque bien avec des nombres cela fonctionne parfaitement.

    Cad
    2012/2013 => If fonctionne
    2013/2012=> Else fonctionne
    2013/2013=> Else Fonctionne

    Cependant il faut également que AZER/IEHD nous renvoi sur le Else que ici sa fait bugger le code.

  4. #4
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    c'est un peu tiré par les cheveux mais ceci peu fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim chaine1 As Single, chaine2  As Single
    'vnom = "ABCD/EFGH" 'ici c'est erreur
    vnom = "2012/2013" 'ici c'est OK
    On Error Resume Next
    chaine1 = CSng(Left(vnom, 4))
    chaine2 = CSng(Right(vnom, 4))
    chaine3 = Mid(vnom, 5, 1)
    If chaine2 = chaine1 + 1 And chaine3 = "/" Then
    MsgBox "OK"
    Else
    MsgBox "erreur"
    End If
    End Sub

  5. #5
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Je pense pas que ton code correspond à mes attentes, car je dois intégré mon textbox dans mon IF.

    Je ne vois pas dans ton code, une ligne venant chercher la valeur de mon textbox.

    Peut être que je me trompe.

    Merci,

    Cdt

  6. #6
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Tablo() As String, Msg As String
        Tablo = Split(Me.TextBox1.Value, "/")
        Msg = "Incorrect !"
        If IsNumeric(Tablo(0)) And IsNumeric(Tablo(1)) Then
            If Tablo(1) - Tablo(0) = 1 Then Msg = "Correct !"
        End If
        MsgBox Msg
    Cordialement.

  7. #7
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    @jackborogar, en dehors du fait d'arriver à tes fins par ce biais, à la base, ton besoin c'est quoi ?

    • Tu as toujours une année de différence entre les 2 ?
    • Ta plage d'années à valider possible est de quel ordre ?
    • etc....


    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier

  8. #8
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    jackborogar, en dehors du fait d'arriver à tes fins par ce biais, à la base, ton besoin c'est quoi ?

    Tu as toujours une année de différence entre les 2 ?
    Ta plage d'années à valider possible est de quel ordre ?
    etc....
    Mes besoins sont de créer des nouveaux tableaux d'engagement en fonction de l'année. J'ouvre un textebox et demande à l'utilisateur d'entrer de la forme "2012/2013", l'exercice d'engagement qu'il souhaite. Si le format est bon (et maintenant on peut le tester) alors le tableau se créer.
    Oui il y a toujours une année de diff entre les deux car comme je l'ai dit cela concerne un exercice qui s'effectue que sur un an.

    @Gfzt82 , c'est parfait! Merci pour ton temps.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2006, 07h55
  2. Réponses: 10
    Dernier message: 31/08/2006, 14h57
  3. Réponses: 4
    Dernier message: 08/08/2006, 15h04
  4. [VBA-E]executer "du code" sous conditions
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2006, 20h02
  5. [Code] LA date comme condition
    Par skreu dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/11/2005, 09h14

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