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 :

[VBA/Excel]recherche sur 2 colonnes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 104
    Par défaut [VBA/Excel]recherche sur 2 colonnes
    Bonjour,
    j'ai un probleme bien compliqué sur lequel je me casse les dents depuis plusieurs jours te c'ets pour un projet que je dois bientot presenter. Si quelqu'un pouvait m'aider ca me retirerai une sacré epine du pied.
    En fait j'ai un rpogramme VBA qui se lance a partir d'un bouton dans un classeur Excel. Ce programme m'affiche tout d'abord une premiere boite de dialogue dans laquelle on entre une valeur A, apres validation appariat une seconde boite de dialogue dans laquelle on entre une valeur B. Ce que j'aimerai faire c'ets dans la feuille excel trouver la premiere ligne pour laquelle dans la colonne C j'ai la valeur A et dans la colonne D la valeur B. Recuperer les valeurs des boites de dialogue c'est pas un probleme, ce qui me pose un probleme c'ets d'executer une recherche sur deux colonnes en meme temps et trouver deux valeurs pour une meme ligne.
    J'espere avoir ete assez clair et que quelqu'un pourra m'aider. Merci d'avance.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    avez vous commencez .. un début de code ...? vous pouvez par exemple parcourir les lignes de votre tableau et comparer pour chacune des lignes les valeurs contenues dans colonnes concernées...
    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
     
     
    Sub ChercheCD()
     Dim stC As String 'Valeur cherchée colonne C
     Dim stD As String 'Valeur cherchée colonne D
     Dim r As Range 'Ligne..du tableau
     stC = "A"
     stD = "B"
     For Each r In ThisWorkbook.Sheets("Feuil1").Range("A1").CurrentRegion.Rows
       If r.Cells(3) = stC And r.Cells(4) = stD Then
         MsgBox "ligne trouvée " & r.Row
         Exit For 'fin recherche
       End If
     Next
    End Sub

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    salut. pas besoin de faire une recherche sur 2 colonne, un simple boucle suffit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sub cherche
    for each c in range("C:C")
    if not C = "" then
    if c = valeurA and c.offset(0,1) = valeurB then msgbox "j'ai trouvé"
    end
    end if
    next C
    end sub
    le code est approximatif, mais il est tard et l'essentiel y est
    ciao

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 104
    Par défaut
    Merci pour les reponses que j'ia pas vu plus tot car j'avais oublié de mettre la notification par mail.
    Et lorsque l'on fait comme ca, si il n'existe aucune ligne pour laquelle la colonne c est a valeur A et l'offset(0,1) et a valeur B, il y a moyen de le detecter sans qu'il fasse une boucle infinie et de lancer une autre action?
    Merci.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Le code de bbil examine la plage de lignes renseignées, pas une de plus, et sort une fois l'examen terminé.
    Pour le code d'alsimbad, il parcourt les 65536 lignes de la colonne C s'il ne touve pas les bonnes données.

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 104
    Par défaut
    Donc une fois qu'il a examiné toute la colonne c il sort si il n'a rien trouvé, il ne repart pas a la premiere ligne et ainsi de suite?

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu veux qu'on teste pour toi ?

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

Discussions similaires

  1. [XL-2007] Formulaire VBA Excel - recherche sur plusieurs critères et affichage des résultats
    Par kl1ft dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/08/2016, 20h44
  2. Macro de recherche sur 2 colonnes en excel
    Par legna986 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/05/2015, 11h20
  3. [VBA/Excel] Boucler sur les colonnes
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 23/02/2007, 08h42
  4. [VBA-E] Recherche sur plusieurs colonnes ?
    Par Kokito dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/11/2006, 13h27
  5. [VBA-Excel]recherche sur plusiers feuilles
    Par salim_kwada dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/08/2006, 16h38

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