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 :

If string = "a" or "b" ? [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Par défaut If string = "a" or "b" ?
    Apparemment c'est pas ça. Alors comment l'écrire? Merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If site_sa = "http://www.utc.fr" Or "http://www.utc.fr/" Then

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 345
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If site_sa = "http://www.utc.fr" Or site_sa = "http://www.utc.fr/" Then
    ou bien pour regrouper les deux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If site_sa = "http://www.utc.fr*" Then
    Cordialement

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ucase( site_sa) = ucase("http://www.utc.fr")  Or ucase(site_sa) =ucase("http://www.utc.fr/") Then

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 345
    Par défaut
    Bonjour rdurupt,

    Juste pour apprendre. Pourquoi la conversion en majuscules ?

    Merci d'avance

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    Bonjour
    la convertion en majuscule est fait faite pour formater l'object de la demande et les arguments

    en gros si il y a un defaut de majuscule dans ta demande ta fonction repondra toujours non


    en majuscule ta variable et les urls si elles sont identiques vont matcher

    pourquoi ucase et pas lcase parceque tres souvent il y a des caracteres bizaroides dans les url ucase formate tout en majuscule

    apres d'apres ce que je vois de ta demande la question est que il est possible que le dernier slash manque tu pourrais te contenter de controler ce simple point avec right(url,1)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Par défaut
    Merci à tous ceux qui m'ont répondu Le problème est résolu.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Citation Envoyé par aziz1015 Voir le message
    ...
    ou bien pour regrouper les deux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    If site_sa = "http://www.utc.fr*" Then
    Cordialement
    If site_sa Like "http://www.utc.fr*" Then plutôt car c'est l'opérateur Like qui prend en charge ce genre de syntaxe spécifique et non l'opérateur =. Le signe égal fait une comparaison bit à bit en comparant tous les caractères à gauche et à droite du signe =.

    Avec le signe =, c'est à peu près équivalent à faire ce genre de test (Tant que Option Compare n'est pas spécifié en tête de module):
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Sub Test()
        Dim site_sa As String
     
        site_sa = "http://www.utc.fr/"
     
        If site_sa = "http://www.utc.fr/" Then
            Stop
        Else
            Stop
        End If
     
        If IsTextEgal(site_sa, "http://www.utc.fr/") Then
            Stop
        Else
            Stop
        End If
     
        If IsTextEgal(site_sa, "http://www.utc.fR/") Then
            Stop
        Else
            Stop
        End If
     
    End Sub
     
    Function IsTextEgal(Text1 As String, Text2 As String) As Boolean
        Dim i As Long
        Dim aText1() As Byte, aText2() As Byte
     
        aText1 = Text1
        aText2 = Text2
     
        For i = LBound(aText1) To UBound(aText2)
            If aText1(i) <> aText2(i) Then Exit Function
        Next
        IsTextEgal = True
    End Function
    L'opérateur Like est spécifique:
    http://loufab.developpez.com/tutorie...operateurlike/


    @+
    Dernière modification par Invité ; 05/11/2015 à 00h00.

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

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