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 :

Equivalent "*" VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut Equivalent "*" VBA
    Bonjour,
    Quel serait l'équivalent de "*" en VBA dans la formule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A5<>"";DECALER(EPLE;EQUIV("*"&A5&"*";EPLE;0)-1;;SOMMEPROD((STXT(EPLE;1;NBCAR(A5))=TEXTE(A5;"0"))*1));EPLE)
    .

    Je voudrais l'utiliser dans le code:

    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
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$A$1" Then
     
     
      Dim Lig As Long, Nom As String, Line As Long, Col As Long, LignSel As Long
     
    Nom = InputBox("Saisie de votre NOM : ", "NOM")
    If Nom = "" Then
    Exit Sub
    Else
     
    With Sheets("RECUP").Range("a1:a500")
     
     
        Set C = Sheets("RECUP").Range("A2:A200").Find(What:="" & Nom & "", LookAt:=xlWhole, SearchOrder:=xlByColumns)
     
        If Not C Is Nothing Then
            Do
     
            Set C = .FindNext(C)
            C.Activate
     
            MsgBox Range("" & "A" & ActiveCell.Row & "").Value & " H: " & Range("" & "ED" & ActiveCell.Row & "").Value & " E: " & Range("" & "EE" & ActiveCell.Row & "").Value & vbCr & vbCr & Range("" & "EG" & ActiveCell.Row & "").Value
            Exit Sub
     
            Loop While Not C Is Nothing
     
        End If
    End With
    End If
    End If
    End Sub
    Au niveau de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set C = Sheets("RECUP").Range("A2:A200").Find(What:="" & Nom & "", LookAt:=xlWhole, SearchOrder:=xlByColumns)
    Pour pouvoir effectuer une recherche sans entrer tous les caractères du nom à chercher.

    MERCI D'AVANCE

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaLocal="=SI(A5<>"""";DECALER(EPLE;EQUIV(""*""&A5&""*"";EPLE;0)-1;;SOMMEPROD((STXT(EPLE;1;NBCAR(A5))=TEXTE(A5;""0""))*1));EPLE)"

  3. #3
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Perso j'utiliserai la fonction VBA "Instr()"

    A+

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Ou encore mieux "like"

    tiré de l'aide en ligne

    Like, opérateur, exemple
    Cet exemple utilise l'opérateur Like pour comparer une chaîne à un modèle.

    Dim MyCheck
    MyCheck = "aBBBa" Like "a*a" ' Renvoie True.
    MyCheck = "F" Like "[A-Z]" ' Renvoie True.
    MyCheck = "F" Like "[!A-Z]" ' Renvoie False.
    MyCheck = "a2a" Like "a#a" ' Renvoie True.
    MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Renvoie True.
    MyCheck = "BAT123khg" Like "B?T*" ' Renvoie True.
    MyCheck = "CAT123khg" Like "B?T*" ' Renvoie False.
    A+

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut
    J'aime bien la je tente de l'intégrer dans mon code

    J'avoue avoir un peu de mal à l'intégrer dans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set C = Sheets("RECUP").Range("A2:A200").Find(What:="" & Nom & "", LookAt:=xlWhole, SearchOrder:=xlByColumns)

  6. #6
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Voici comment utiliser INSTR

    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 tt2()
     Set r = Range("eple")
     txt = Range("a5").Value
     For Each c In r
     
     If c.Value <> "" Then
      If InStr(c.Value, txt) = 1 Then
       MsgBox c.Value & " " & c.Address & " " & c.Row & " " & c.Column
       Exit For
      End If
      End If
     
     Next
    End Sub

  7. #7
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    au lieu de xlWhole

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

Discussions similaires

  1. double quote en VBA
    Par miopie dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/07/2010, 15h04

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