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 nom dans colonne


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
    Développeur décisionnel
    Inscrit en
    Juin 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 151
    Par défaut Recherche nom dans colonne
    Bonjour,

    Je dois rechercher un nom dans une colonne, la date de traitement qui est sur la même ligne que ce nom trouvé devrait s'afficher.
    Si ce n'est pas la bonne date, il faut faire à nouveau une recherche toujours sur base du nom.
    J'ai le code pour trouver le nom, j'aimerais connaître le numéro de la ligne qui sélectionne ce nom pour afficher la date.

    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
    Sub RecherchePatient()
    '
    ' RecherchePatient dans la liste
     
    '
    Dim DerLg As Integer
    Dim StrRecherche As String
     
    DerLg = Sheets("Feuil1").Cells(Columns(5).Cells.Count, 2).End(xlUp).Row
     
    StrRecherche = "Tartempion"
     
    '    Sheets("Feuil1").Select
     
        With Worksheets("Feuil1")
            .Activate
            .Columns(5).Find(StrRecherche).Select
        End With
        'DerLg = Row()
     
    End Sub
    Je pensais utiliser le Numéro de ligne correspondant à celle du nom trouvé. Si ce Numéro est équivalent au "DerLg", pas besoin de faire d'autre recherche.
    Sinon, afficher la date de traitement qui est sur la même ligne (en colonne 7). Si c'est la bonne date arrêter la recherche, sinon, continuer la recherche et afficher à nouveau la date et ce, jusqu'à la dernière ligne contenant des données dans la colonne 5.

    J'ai essayé avec "FindNext" mais ça ne va pas.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    à mon avis la solution est bien FindNext vu la recherche par la méthode Find
    Ce qui cloche c'est son utilisation ! En se conformant à l'exemple de l'aide de Find, cela ira sur des roulettes
    car à partir de la cellule trouvée il suffira d'appliquer un Offset pour la date.

    A noter qu'un bon code n'a aucunement besoin de Select

  3. #3
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonsoir, adapté a vos besoins.

    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
    Sub RecherchePatient()
    ' RecherchePatient dans la liste
    Dim DerLg As Integer
    Dim StrRecherche As String
     
    DerLg = Sheets("Feuil1").Cells(Columns(5).Cells.Count, 2).End(xlUp).Row
    StrRecherche = "Tartempion"
     
    With Worksheets("feuil1").Columns(5)
        Set c = .Find(StrRecherche, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                MsgBox "la date est " & Cells(c, 7).Value
                'le reste du code ici
     
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
     
    End Sub

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonsoir electrons; à tous

    Une autre interprétation
    Fichiers attachés Fichiers attachés

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 151
    Par défaut
    Bonjour Docmarti,

    Merci pour ton code, il fonctionne bien. je n'ai plus qu'à l'adapter

    Merci aussi à Marc_L et Keygen08 pour leus réponses, (il y avais une erreur dans le code de Keygen08, dans le MsgBox, le Cells(c, 7) indiquait une erreur mais c'est corrigé.)

    Bonne journée.

    Quand vous plantez une graine une fois, vous obtenez une seule et unique récolte. Quand vous instruisez les gens, vous en obtenez cent.
    Confucius

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

Discussions similaires

  1. [XL-2003] Recherche nom dans colonne
    Par zorrax dans le forum Excel
    Réponses: 3
    Dernier message: 20/01/2011, 11h19
  2. Recherche chaine dans colonne
    Par scouby64 dans le forum Excel
    Réponses: 2
    Dernier message: 08/12/2008, 17h57
  3. Rechercher date dans colonne et renvoi la ligne correspondante
    Par rickgoz dans le forum Macros et VBA Excel
    Réponses: 36
    Dernier message: 28/10/2008, 19h29
  4. Problème recherche nombre dans colonne
    Par kanabzh29 dans le forum Excel
    Réponses: 10
    Dernier message: 25/09/2008, 14h33
  5. Rechercher nom de colonnes dans la base
    Par B&B dans le forum SQL
    Réponses: 2
    Dernier message: 12/12/2007, 16h45

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