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 :

Chercher à partir d'un debut de valeur


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 39
    Points
    39
    Par défaut Chercher à partir d'un debut de valeur
    Bonjour,

    Voilà, j'ai un ptit souci, je cherche dans un tableau par exemple toutes les valeurs commençant par 12 par exemple si j'ai 1245, 12688, je dois pouvoir les récupérér puisque le nombre 12 est devant.Ici c'est un exemple et dans ma macro je ne sais pas le nombre de caractère que j'aurai donc je ne peux pas utilisé la fonction left.

    Comment faire une macro en vba qui se traduirait par je recherche toutes les valeurs commençants par.

    Voilà, j'espère avoir été clair.
    Merci d'avance pour vos réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Si tu ne peux pas utiliser left comment sais-tu quand s'arrête le "début" de mot??? Tu peux peut-être utiliser like mais ça me paraît peu prudent ...
    Essaie d'expliciter un peu plus ton problème !!

    Az

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 396
    Points
    396
    Par défaut
    En premier tu teste la longueur de ta donnée avec Len()
    Puis : Si ta valeur et supperieur à 2 alors tu controle avac Left() sinon tu passe à la suite.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 39
    Points
    39
    Par défaut
    j'ai trouvé une solution mais le problème cela ne s'arrête qu'à la première valeur trouvée correspondante j'aimeari pouvoir trouver toutes les valeurs correspondantes dans ma colonne E.

    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim Result As Range
    Dim Cellule As Variant
    Param = "12"
    With ActiveWorkbook.Sheets("New ETV")
        Set Result = Range("E:E").Find(What:=Param)
        Cellule = Range(Result.Address).Row
    End With

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 39
    Points
    39
    Par défaut
    J'ai finalement trouvé la réponse par moi même.
    Merci à tous ceux qui m'ont répondu.
    Je mets le code il pourra peut-être un jour servir à quelqu'un

    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
     
    Dim Result As Range
    Dim Cellule As Variant
     
    'Trouver la première celllue correspondante
    Param = "12"
    With ActiveWorkbook.Sheets("New ETV")
        Set Result = Range("E:E").Find(What:=Param)
        Cellule = Result.Value
        'MsgBox Cellule
    End With
     
    'Trouver les cellules correspondantes suivantes
         If Not Result Is Nothing Then
            firstAddress = Result.Address
            Do
                MsgBox Cellule
                Set Result = Range("E:E").FindNext(Result)
                Cellule = Result.Value
            Loop While Not Result Is Nothing And Result.Address <> firstAddress
        End If

  6. #6
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Points : 116
    Points
    116
    Par défaut
    Bonjour freyliss,

    Ton code m'intéresse! Par contre j'ai 2 questions au niveau définition:
    1. Param tu le définis en tant que string ou numérique?
    2. firstAddress c'est quoi? du range? mais là ce ne marche pas.


    alex

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 39
    Points
    39
    Par défaut
    oups j'ai oublié une partie du code !!!

    alors param dans mon cas en tant que numérique je viens de tester en tant que string et cela fonctionne.

    et firstAddress en tant que variant.

    voilà alex
    bonne fin de journée

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

Discussions similaires

  1. Méthode d'interpolation a partir d"une série de valeurs
    Par User dans le forum Algorithmes et structures de données
    Réponses: 55
    Dernier message: 18/03/2008, 09h00
  2. Chercher à partir d'un début d'une valeur
    Par freyliss dans le forum Excel
    Réponses: 6
    Dernier message: 25/07/2007, 15h16
  3. Réponses: 2
    Dernier message: 04/08/2005, 12h26
  4. [debutant] incrementer valeur champ input text
    Par ilood dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/07/2005, 13h21
  5. Select à partir d'un debut de numéro ...
    Par Le_Phasme dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/03/2005, 13h41

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