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 :

RechercheV avec résultat multiple


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut RechercheV avec résultat multiple
    Bonjour à tous,

    Je viens vers vous car je suis confronté à un nouveau problème sur mon fichier excel.

    Je souhaite faire une rechercheV via un code VBA.
    Ce code je l'ai pas de souci, sauf que cela ne me remonte que la première valeur qu'il trouve vrai.
    Donc à coté je souhaiterai faire une sorte de tableau qui me remonterais toutes les valeurs vrai.

    Je m'explique, cela sera plus clair.

    Sur "feuille1" en Z10 j'ai du texte qui sera par exemple "HB1"
    En lançant une macro via un petit bouton, je suis capable de lui dire:
    Tu regardes la valeur dans Z10, feuille1 et tu regardes dans la feuille "BDD" colonne "Q" et tu me ressort le texte de la colonne A, feuille "BDD" en U12 de la feuille1 via ce 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
    Sub recherchecasiers()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("Feuille1")
    Set F2 = Sheets("BDD")
    Dim plage As Range
    Set plage = F2.Range("Q3:Q800")
    codrecherché = F1.Range("Z10").Value
    Application.ScreenUpdating = False
    For Each cell In plage
     If cell.Value = codrecherché Then
        F1.Range("U12") = F2.Cells(cell.Row, 1)
        F1.Range("Y12") = F2.Cells(cell.Row, 2)
     End If
     Next cell
        Application.ScreenUpdating = True
    End Sub
    Sauf qu'il me ressort que la première valeur vrai.
    Si j'ai 2 ou 3 "HB1" je souhaiterai qu'il me donne toutes les réponses VRAI, donc en code pour le placement, ceci:
    Première Valeur Vrai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    F1.Range("U12") = F2.Cells(cell.Row, 1)
    F1.Range("Y12") = F2.Cells(cell.Row, 2)
    Deuxième valeur Vrai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    F1.Range("U13") = F2.Cells(cell.Row, 1)
    F1.Range("Y13") = F2.Cells(cell.Row, 2)
    et Troisième valeur Vrai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    F1.Range("U14") = F2.Cells(cell.Row, 1)
    F1.Range("Y14") = F2.Cells(cell.Row, 2)
    Je m'arrête à 3, logiquement il ne pourra pas en avoir plus.

    Voilà, j'espère avoir été le plus clair possible dans mes explications.

    En vous remerciant d'avance et en vous souhaitant une bonne après midi à tous.

    Cordialement,

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Voir l'aide Microsoft sur la méthode Find

    A partir de l'exemple proposé, tu pourras incrémenter un n° de ligne (ou de colonne) dont une cellule reportera l'information.

    P.S. Pour reporter un code, tu pourras utiliser les balises # qui le rendront plus lisibles.

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Tu n'étais pas loin.
    voir la propriété : Range.Offset ici : https://docs.microsoft.com/fr-fr/off...l.range.offset


    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
    Sub recherchecasiers()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("Feuille1")
    Set F2 = Sheets("BDD")
    Dim plage As Range
    Dim cpt As Integer
      Set plage = F2.Range("Q3:Q800")
      codrecherché = F1.Range("Z10").Value
      Application.ScreenUpdating = False
      For Each cell In plage
        If cell.Value = codrecherché Then
          F1.Range("U12").Offset(cpt).Value = F2.Cells(cell.Row, 1)
          F1.Range("Y12").Offset(cpt).Value = F2.Cells(cell.Row, 2)
          cpt = cpt + 1
        End If
      Next cell
      Application.ScreenUpdating = True
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut
    Merci beaucoup à tous les deux.
    La réponse de pijaku fait exactement le job !
    Je vais me pencher sur cette fonction effectivement
    Chaque jour nous nous endormons moins con que la veille !
    En vous souhaitant une bonne fin de journée.


  5. #5
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Pour faire le job sans boucle sur toutes les cellules, voir ici : https://www.developpez.net/forums/d2.../#post11381598

  6. #6
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut
    Citation Envoyé par pijaku Voir le message
    Bonjour,

    Pour faire le job sans boucle sur toutes les cellules, voir ici : https://www.developpez.net/forums/d2.../#post11381598
    Merci pour l'info

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

Discussions similaires

  1. Alternative RECHERCHEV pour résultats multiples
    Par OoAZIoO dans le forum Excel
    Réponses: 10
    Dernier message: 24/08/2019, 22h39
  2. [XL-2010] RechercheV avec résultats mulrtiples
    Par alicemv dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/07/2019, 15h54
  3. RechercheV et résultats multiples
    Par Margaux1234 dans le forum Excel
    Réponses: 3
    Dernier message: 11/08/2018, 02h12
  4. [XL-2013] Créer une rechercheV avec correspondances multiples
    Par Waldstein dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/04/2014, 09h25
  5. Recherchev poussée avec résultats multiples
    Par solorac dans le forum Excel
    Réponses: 13
    Dernier message: 22/06/2007, 11h14

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