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 pour gestion de boucle [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 54
    Par défaut VBA pour gestion de boucle
    Bonjour,

    J'ai une grande faveur à demander, j'aimerais pouvoir faire une recherche itérative dans un de mes fichiers.

    Dans le fichier, ci-joint, j'ai besoin de rechercher dans la colonne B, la première valeur plus grande ou égale à la cellule G11. (Dans cet exemple, c'est la cellule B5.)
    Ensuite j'aurais besoin de copier la valeur de B5 dans la cellule G12 et de copier l'identifiant qui correspond à B5, càd la valeur de la cellule A5 dans la cellule G13.


    Je comprends le code en VBA mais je ne sais pas le créer.
    Quelqu'un pourrait-il m'aider à résoudre ce problème svp?

    Mille mercis d'avance!

    Jenna
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut
    bonjour

    Essaie 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
    18
    19
     
    Sub test()
    Dim Valeur As Integer
     
     
    With Sheet1
        Valeur = .Range("g11").Value
        For cpt = 1 To .Range("b65536").End(xlUp).Row
            If .Cells(cpt, 2) >= Valeur Then
                .Range("g12") = .Cells(cpt, 2).Value
                .Range("g13") = .Cells(cpt, 1).Value
     
            End If
     
        Next cpt
     
     
    End With
    End Sub

  3. #3
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 54
    Par défaut
    Il n'y a rien qui se passe.
    Je dois bien mettre le code sur la Sheet1?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut
    Aller

    tu as le fichier en PJ

    Cordialement
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    à evx136

    Ajoute un Exit For pour sortir de la boucle
    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 Test()
    Dim Valeur As Double
    Dim Cpt As Long
     
    With Sheet1
        Valeur = .Range("G11").Value
        For Cpt = 1 To .Range("B65536").End(xlUp).Row
            If .Cells(Cpt, 2) >= Valeur Then
                .Range("G12") = .Cells(Cpt, 2).Value
                .Range("G13") = .Cells(Cpt, 1).Value
                Exit For
            End If
        Next Cpt
    End With
    End Sub

  6. #6
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 54
    Par défaut
    Super merci à vous deux maintenant ça marche parfaitement!

    Encore juste une petite chose (en espérant ne pas abuser de votre gentillesse).

    Y a-t-il moyen de générer ce code directement lors du changement de valeur de la celulle, sans avoir un bouton de commande?

    Mille mille mercis

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

Discussions similaires

  1. [VBA-E] Problème pour faire une boucle dans une userform
    Par Garlim dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2007, 23h10
  2. [VBA-E] Problème pour coder une boucle
    Par lord-asriel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/03/2007, 10h10
  3. [VBA-E]besoin d'aide pour faire une boucle
    Par mikazounette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2006, 14h04
  4. Réponses: 10
    Dernier message: 04/01/2006, 13h32
  5. [VBA][Excel] Comment faire pour faire une boucle?
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 19/12/2005, 14h48

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