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 :

Recherche d'une chaine de caractères dans colonne en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Mars 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Mars 2014
    Messages : 51
    Par défaut Recherche d'une chaine de caractères dans colonne en VBA
    Bonjour,

    Je voudrais rechercher une chaine de caractères qui se trouve dans une colonne d'une autre feuille du classeur pour en renvoyer des données d'une autre colonne (un peu comme la fonction index/equiv car les données à renvoyer se situent avant la colonne de recherche).

    Je bloque sur ce problème, les formules limitant le nombre de caractères à 255 il faut que je passe par du VBA.
    Je ne connais pas beaucoup le VBA et je ne sais pas comment commencer le programme.
    On m'a parlé de la fonction find, j'ai un peu regardé comment l'utiliser mais je nage totalement.

    Si quelqu'un a une idée je suis preneur.


    Merci.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 141
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Un passage dans deux discussions traitant du sujet et une page web
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre expérimenté Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Par défaut
    Bonjour,

    Afin d'y voir un peu plus clair sur ton besoin, peux-tu préciser en quoi Index/Equiv ne fonctionne pas dans ton cas ?

    Qu'est-ce qui ferait dépasser la limite de 255 caractères ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Temps libre.....
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Temps libre.....

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Par défaut
    Bonjour,

    Désolé pour la tardive réponse !

    Je vous propose de tester la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function Trouve_Repere(Valeur_a_Trouver As String)
        Dim Trouve As Range
        Dim Der_Lig As Long
        With Sheets("Feuil1")
            Der_Lig = .Cells(Rows.Count, 2).End(xlUp).Row
            Set Trouve = .Range("B1:B" & Der_Lig).Cells.Find(what:=Valeur_a_Trouver, LookIn:=xlValues, LookAt:=xlPart)
            If Trouve Is Nothing Then
                Trouve_Repere = "Référence non trouvée"
                Exit Function
                Else
                Trouve_Repere = Trouve.Offset(0, -1).Value
            End If
        End With
    End Function
    Bien évidemment les maîtres es vba corrigeront et amélioreront ce code !

    Cordialement

    JFL
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/01/2008, 17h58
  2. Réponses: 3
    Dernier message: 25/07/2006, 08h40
  3. [VB]Recherche d'une chaine de caractère dans un fichier
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 16/02/2006, 09h10
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51
  5. recherche d'une chaine de caractère dans une données text
    Par jdeheul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/06/2004, 16h35

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