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 une valeur d'une cellule dans une colonne d'une autre feuille


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Bonjour à tous,

    je suis un debutant en VB j aimerai creer un bouton dans le feuille 1 une fois que je clique la dessus il cherchera dans la colonne (B) de la feuille 2
    la valeur de la cellule (G2) de la feuille 1

    la feuille 1 et 2 sont dans le meme classeur


    je vous remercie de votre aide


    KABI

  2. #2
    Membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 85
    Points : 47
    Points
    47
    Par défaut
    bonjour,

    je n'est pas trés bien compri, tu veu cherché une cellule d'une feuille qui elle meme cherche une cellule d'une autre feuille?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    La méthode peurt varier en fonction de ce que tu veux faire de la réponse

    Est ce que tu veux qu'il dise si il a trouvé ou non?
    Est ce que tu veux le texte d'une cellule en fonction de ce qu'il va trouver?
    Est ce que tu veux un numéro de ligne?
    .....

  4. #4
    Membre actif Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 17
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 276
    Points
    276
    Par défaut
    Voilà un bout de code qui fait une partie du boulot, après à toi de savoir ce que tu veux fair exactement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Macro1()
        Sheets("Feuil2").Select
        Columns(2).Select
        Cells.Find(what:=Sheets("Feuil1").Cells(2, 7).Value, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
            xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=True).Activate
     
        MsgBox "Ligne N° " & ActiveCell.Row, , ActiveCell.Value
     
     
    End Sub
    tu cré un bouton ou tu veux et tu lui accroche la macro.

    ciao
    80% des pannes informatiques se situent entre le clavier et la chaise...

    L'informatique ça vous énerve, prenez 5mns de détente ici


    =========== ===========

    Une fois que le problème à trouvé une solution n'oubliez pas le

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    On peut simplifier le code précédant en éliminant les select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
        Sheets("Feuil2").Columns(2).Cells.Find(what:=Sheets("Feuil1").Cells(2, 7).Value, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
            xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=True).Activate
     
        MsgBox "Ligne N° " & ActiveCell.Row, , ActiveCell.Value
     
     
    End Sub

  6. #6
    Membre actif Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 17
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 276
    Points
    276
    Par défaut
    Tu l'a testé coconut ton code ? Parce que je trouve l'ID sympa mais chez moi il veut rein savoir, ça plante.
    80% des pannes informatiques se situent entre le clavier et la chaise...

    L'informatique ça vous énerve, prenez 5mns de détente ici


    =========== ===========

    Une fois que le problème à trouvé une solution n'oubliez pas le

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    Je l'ai intégré dans l'une de mes routines et ca marche plutot bien

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    je l'ai meme amélioré pour ne pas activer de cellule

    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 test
    Dim a As Integer
     
    valid = Worksheets("etat d'avancement").Cells(1, 2)
     
    'Routine pour vérifier qu'on a déjà validé
     
    a = Worksheets("Etat d'avancement").Columns(14).Cells.Find(what:=valid, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
            xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=True).Row
     
    If Worksheets("etat d'avancement").Cells(a, 15).Text = "" Then
     
    Else
        MsgBox ("Vous avez déjà validé ce devis!")
        Exit Sub
    End If
     
    End sub

    Ainsi j'extrais directement le numéro de ligne correspondant à la valeur à chercher .

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    Pour que ca marche le mieux possible, évitez d'avoir des cellules vides dans la colonne de recherche.

Discussions similaires

  1. Réponses: 11
    Dernier message: 16/04/2015, 10h26
  2. Modification d'une valeur de la cellule dans datagridview
    Par pbatty1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/02/2013, 19h36
  3. rechercher la valeur d'un champs dans les champs d'une autre table
    Par aloe-vera dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 02/08/2012, 14h53
  4. Réponses: 1
    Dernier message: 03/07/2007, 16h04
  5. Réponses: 2
    Dernier message: 22/04/2007, 21h57

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