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 :

boucle recherchev avec condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 94
    Par défaut boucle recherchev avec condition
    Bonjour à tous,

    J'essaye de construire un code me permettant de faire une boucle cherchant la valeur de ma colonne C de ma feuille"valeur" est de l'associé à ma colonne B de ma feuille"resume" si sa colonne C = gvie


    J'ai commencé ce code mais celui ci ne me fait pas ma boucle:

    Merci pour votre aide

    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
    20
    Sub actif()
     
    Dim Sh As Worksheet
    Dim Rg As Range
    Dim i As Long
     
    For i = 2 To Me.Range("A" & Rows.Count).End(xlUp).Row
     
            If Cells(i, 3) = "gvie" Then
     
                Set Rg = Sheets("valeur").Range("A:A").Find(What:=Me.Range("A" & i).Value, LookAt:=xlWhole)
     
                    Me.Range("B" & i).Value = Rg.Offset(0, 2).Value
                    Exit For
     
            End If
     
    Next i
     
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je n'ai pas ouvert le fichier. Penses à indenter tes codes et surtout... les balises

    C'est quoi Me dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = 2 To Me.Range("A" & Rows.Count).End(xlUp).Row
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 94
    Par défaut
    me = ma feuille de calcul

    mais c vrai il n'y a pas besoin de le spécifié

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    sans savoir, est-ce la réponse
    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 actif()
    Dim Sh As Worksheet
    Dim Rg As Range
    Dim i As Long
    With Sheets("resume")
      For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
        If Sheets("valeur").Cells(i, 3) = "gvie" Then
          Set Rg = Sheets("valeur").Range("A:A").Find(What:=.Range("A" & i).Value, LookAt:=xlWhole)
          .Range("B" & i).Value = Rg.Offset(0, 2).Value
          Exit For
        End If
      Next i
    End With
     
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 94
    Par défaut
    J'ai repris et modifié ton code.
    Cependant il ne fait pas la boucle sur la colonne B
    Le code ne fait que la recherche pour la premiere ligne

    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 actif()
    Dim Sh As Worksheet
    Dim Rg As Range
    Dim i As Long
    With Sheets("resume")
      For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
        If Sheets("resume").Cells(i, 3) = "gvie" Then
          Set Rg = Sheets("valeur").Range("A:A").Find(What:=.Range("A" & i).Value, LookAt:=xlWhole)
          .Range("B" & i).Value = Rg.Offset(0, 2).Value
          Exit For
        End If
      Next i
    End With
     
    End Sub

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Excuses-moi mais je me répète mets les balises code afin de rendre ton code plus clair => c'est obligatoire ! tu selectionnes tout ton code et appuies sur #

    Enlève le "exit for" (peut-etre) dans ton code, comme je ne suis pas sur de ce que tu recherches, envoies un fichier simplifié.
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Boucle If avec condition sur un Champ.
    Par shmider dans le forum IHM
    Réponses: 3
    Dernier message: 25/11/2010, 13h39
  2. Pb boucle [FOR] avec condition [IF]
    Par Newenda dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/02/2010, 11h50
  3. Aide boucle for avec condition
    Par guigui33 dans le forum Images
    Réponses: 1
    Dernier message: 06/03/2008, 20h59
  4. boucle for avec condition
    Par Daniel Magron dans le forum Delphi
    Réponses: 4
    Dernier message: 22/01/2007, 16h18
  5. [XSL]boucle imbriquée avec condition
    Par kor dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 11/01/2005, 14h19

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