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 d'element dans excel, avec une macro [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut recherche d'element dans excel, avec une macro
    bonjour dans le cadre d'un outil que je développe
    je cherche à avoir un bouton dans un userforme qui doit permettre de se déplacer dans la base de donnée en affichant dans le formulaire les informations de la base de donnée.

    Voila mon problème

    dans l'une des colonne, il y a un flag avec les valeur urgente, en retard, traitement en cours

    dans le formulaire j'ai un bouton qui souhaite parcourir toutes les donnée qui on la valeur urgente.

    aujourd'hui mon code est écrit de cette manière :
    mais quand je l'execute et que j'appuis sur le bouton il me renvoie toujours la premier valeur trouvé. et je souhaiterais trouvé les suivantes. Comment cela est possible .

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Private Sub fiche_urgente_Click()
     
     
    With Sheets("xxxxxx").Range("R1:R2000")
        Set c = .Find("urgent", LookIn:=xlValues)
     
        If Not c Is Nothing Then
            firstAddress = c.Address
            firstAdress_s = Split(c.Address, "$")
            MsgBox firstAddress
     
            Do
             '   c.Value = 5
                Set c = .FindNext(c)
           Loop While Not c Is Nothing And c.Address <> firstAddress
           Txtind.Caption = Sheets("base_citoyenne").Range(c.Address).Offset(0, -16).Value
     
            Txtnom.Value = Sheets("base_citoyenne").Range(c.Address).Offset(0, -15).Value
            Txtprenom.Value = Sheets("base_citoyenne").Range(c.Address).Offset(0, -14).Value
            Txt_mail.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -13).Value
            list_ville.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -12).Value
            list_quartier.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -12).Value
            TextAdrs.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -10).Value
     
        End If
    End With
     
    End Sub
    Ce que je souhaiterais c'est qu'il puisse passé a la ligne suivante ou il y a le flag "urgent" à chaque fois que je clique sur le bouton fiche_urgente.

    Merci D'avance pour votre aide

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Bonjour,

    En remettant le code d'alimentation des objets TextBox, labelBox et listbox dans la boucle de recherche le problème devrait être réglé

    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
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub fiche_urgente_Click()
    Dim FirstAddress As String
    Dim c as Range
     
    With Sheets("xxxxxx").Range("R1:R2000")
     
        Set c = .Find("urgent", LookIn:=xlValues)
     
        If Not c Is Nothing Then
            FirstAddress = c.Address
     
            Do
                Txtind.Caption = Sheets("base_citoyenne").Range(c.Address).Offset(0, -16).Value
                Txtnom.Value = Sheets("base_citoyenne").Range(c.Address).Offset(0, -15).Value
                Txtprenom.Value = Sheets("base_citoyenne").Range(c.Address).Offset(0, -14).Value
                Txt_mail.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -13).Value
                list_ville.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -12).Value
                list_quartier.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -12).Value
                TextAdrs.Text = Sheets("base_citoyenne").Range(c.Address).Offset(0, -10).Value
     
                Set c = .FindNext(c)
     
            Loop While Not c Is Nothing And c.Address <> FirstAddress
     
        End If
    End With
     
    End Sub

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 58
    Points : 49
    Points
    49
    Par défaut
    merci ca marche nickel

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

Discussions similaires

  1. [XL-2007] Rechercher et remplacer du texte dans word avec une macro excel
    Par littlepower dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2015, 07h59
  2. [OL-2010] Comment modifier un Rendez vous dans Outlook avec une macro Excel
    Par Paritec dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 13/06/2014, 17h27
  3. [XL-2003] Coment filtrer sur des dates dans Excel avec une macro
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/03/2010, 14h47
  4. Réponses: 3
    Dernier message: 17/11/2006, 14h35
  5. Réponses: 3
    Dernier message: 23/09/2006, 15h19

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