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 :

[XL-2013] - Macro recherche une chaîne de caractère dans une colonne + recup valeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 87
    Points : 47
    Points
    47
    Par défaut [XL-2013] - Macro recherche une chaîne de caractère dans une colonne + recup valeur
    Bonjour,

    Je ne connais pas grand chose au VBA, c'est pour cela que je me permets de vous demander de l'aide afin de progresser.


    Explication :

    Je souhaite rechercher une chaîne de caractère précise dans une colonne d'une feuille excel courante.

    Une fois la chaîne de caractère trouvée, récupérer le numéro de ligne de cette cellule (vu que je connais déjà le numéro de colonne) afin d'avoir les coordonnées exacte de la cellule contenant la chaîne de caractère à trouver.

    Une fois fait, utiliser ce numéro de ligne pour aller récupérer la valeur d'une cellule se trouvant sur la même ligne en colonne "D". Ajouter cette valeur dans la cellule "J6" (additionner les valeurs si dans la colonne "B" il y a plusieurs cellules avec la chaîne de caractère à chercher).


    Vu que je ne sais pas coder en VBA, je vois les choses comme ceci :

    find "colonne B"

    if "chaine_caractere_cellule" = "CHAINE_CARACTERE_A_CHERCHER" (
    recuperation du numero ligne & recuperation valeur cellule "colonne D + numero ligne recupere" = montant

    -> Mettre ce montant dans J6 et l'additionner aux précédents montants
    -> Mettre la couleur "verte" en fond de la ligne recup des cellules A à F

    Désolé de ne pas avoir pu donner un vrai début de code, j'ai chercher sur Internet mais je n'ai pas trouvé d'exemple bien concret par rapport à ce que je recherche.

    Merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu une solution parmi tant d'autre
    Bonjour

    je te propose une toute petite fonction que tu pourra adapter a plusieur critere toute simple

    je t'ai simplifié la tache en faisant une fonction dirigée par une sub
    tu n'a cas changer les argument dans la sub test pour parametrer a ton souhait

    argument 1 index ou nom du sheet

    argument 2 lettre de la colonne ou tu veux rechercher

    argument 3 le mot recherché entre guillemets bien sur

    argument 4 la colonne dont tu veut l'adresse en fonction de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub test()
    MsgBox recherche_adress(1, "B", "toto", "D")
    End Sub
     
    Function recherche_adress(sh, colonne, mot_recherché, colonneoffset) As String
    With Worksheets(sh).Range(Cells(1, colonne), Cells(60000, colonne))
        Set c = .Find(mot_recherché, LookIn:=xlValues)
        If Not c Is Nothing Then recherche_adress = Cells(c.Row, colonneoffset).Address
        End With
    End Function
    au plaisir
    edit: j'ai fait une petite correction sur la ligne "with"
    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

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 87
    Points : 47
    Points
    47
    Par défaut
    Bonjour Patrick,

    Merci pour ta réponse, j'ai pu récupérer les coordonnées d'une des cellules de la colonne B contenant la chaîne de caractère "toto"

    La prochaine étape serait de récupérer la valeur de la cellule (pour ces coordonnées, c'est fait).
    Et, de continuer de scanner toute la colonne dans la limite données (ici 60 000 lignes, si j'ai bien compris) jusqu'à temps qu'il n'y ai plus de "toto" dans celle-ci.

    Je vais essayer de chercher de mon côté, mais si vous avez la réponse, je suis preneur.

    Encore merci

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    salut
    regarde dans F1 find et findnext
    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

Discussions similaires

  1. [Débutant] Recherche d'une chaîne de caractères dans une autre
    Par alexabcinformatique dans le forum VB.NET
    Réponses: 4
    Dernier message: 27/03/2012, 13h25
  2. recherche d'une chaîne de caractères dans une autre.
    Par silenteagle dans le forum Débuter
    Réponses: 34
    Dernier message: 13/10/2011, 12h48
  3. Réponses: 3
    Dernier message: 13/05/2008, 13h11
  4. Rechercher une chaîne de caractère dans une série de fichier
    Par Edoxituz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/02/2006, 12h51
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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