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'un nom dans une plage puis renvoi


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4
    Par défaut Recherche d'un nom dans une plage puis renvoi
    Bonjour,
    je suis novice dans ce forum.
    après plusieurs recherches, je ne trouve pas comment faire.
    il s'agit d'un tableau de planification.
    des nompros, des nomsimple, des activités,en fonction d'horaires
    sur une feuille 1, j'ai des nomsimple en ligne (ligne1) ou l'on indique un nompros en fonction des heures (colonne A).
    sur une feuille2, je souhaite qu'apparaisse pour chaque nompros (ligne1), le nomsimple qui a été detecté pour la plage de chaque horaire.
    autrement dit,
    s'il xl detecte en feuille 1 le nompros sur une plage horaire, il reporte sur la feuille 2, le nomsimple correspondant.
    ce qui fait que sur la feuille 1, j'ai le planning des nomsimples et sur la feuille 2, j'aurais le planning des nompros;
    j'ai commencer cela mais n'est qu'un début.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub montexte ()
    Dim plage as range
    Set plage = thisworkbook.worksheets("Feuil1").range("a1:a50")
    Montexte = Feuil2 !A5 'adefinir suivant la recherche
    For each cell in plage
    If cell.value = Montexte then
    Msgbox cell.address & " est l' adresse du nom: " & cell.value
    Cellule.Offset(-3, 0).Select
    End if

    merci pour vos lumières.

    cdlt

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour,

    Est-ce que tes nompros sont uniques ? Si oui, une rechercheV suffirait si j'ai bien compris ton problème.

    Cordialement,
    Kimy

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4
    Par défaut
    Merci Kimy pour ta suggestion,
    mais comme j'ai environ 30 nompros et 50 nomsimple, je n'ai pas réussi avec recherchv.
    Xl doit donc rechercher pour chaque cellule de chaque ligne horaire de la feuille 1, si un nom de la ligne1 de la feuille 2 correspond. et indiquer alors le nomsimple correspondant dans la bonne cellule horaire de la feuille 2, .
    du coup, je ne sais quelle sont les formules les plus adéquat et quel système utilisé (recherche sur toute la plage ou une boucle qui test chaque cellule enincrementation)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .find
    cellule.offset
    Rg.Address
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub bingo()
    Dim Rg As Range, Qui As String, Plage As String
    Qui = Sheets("Pros").Cells(1, 3)
    Plage = Sheets("Patients").Range("C3:Z3")
    Set Rg = Range(Plage).Find(Qui)
    If Not Rg Is Nothing Then ????
    avec ça, je ne sais pas si ça marche et comment aller inclure le trouvé dans la bonne cellule de la feuille2
    je suis largué
    Merci

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut recherche d'un nom dans une plage
    Bonjour,

    Ta ligne 1 n'est pas claire pour moi.

    Peux-tu joindre un fichier purgé des données confidentielles?

    Cordialement,

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4
    Par défaut exemple du fichier et re test
    bonjour
    bonne année à tous,

    ci joint le doc exl en construction et ce que j'ai modifié.

    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 copie_nom()
    Dim colpat As Range
    Dim nomcherche as Range
    Dim nompros as range
    Nompros = sheets (“Pros”).range (“A1:AL1”)
    Colpat = sheets(“Patients”).Range (“C1:C80”)
    Set nomcherche = colpat.find(nompros,lookat:=x1whole)
    If nomcherche is nothing then
    MsgBox “pas trouvé”, “tant pis!”
    Else worksheets(“Patients”).range(nomcherche, nomcherche).copy
    worksheets(“Pros”).range(nomcherche, nomcherche).paste
    msgbox”fait!”
    end if
    set nomcherche=nothing
    endsub
    mais rien ne se passe .

    en plus, je ne fais une recherche que dans la premiere colonne sur tous les noms pros de la 2eme feuille.
    a terme, je dois faire une boucle pour le faire dans chaque colonne (ou chaque cellule en fait).
    merci pour vos idées.

    cordialement
    Fichiers attachés Fichiers attachés

  6. #6
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut recherche d'un nom dans une plage
    Bonjour,

    Désolé, mais le problème est trop compliqué pour moi avec la structure de fichier proposé.

    Je pense que la feuille patient n'est pas bien conçu (ce n'est que mon avis).

    En lieu et place de "patient N° " j'aurais mis "salle N° " et inversement "lieu" deviendrait "patient"

    Ce faisant la feuille "lieu" n'a plus de raison d'être.
    Je te laisse méditer sur ces commentaires.

    Enfin, j'ajoute qu'il serait infiniment plus rentable :
    - d'avoir une feuille "base de donnée" qui recevrait l'ensemble des informations.
    - tirer, à partir de cette base, tous les tableaux croisés dynamiques que tu peux souhaiter.

    Peut-être un autre intervenant pensera-t-il différemment.

    Cordialement,

Discussions similaires

  1. [XL-2010] Recherche cellules non-vides dans une plage
    Par celinepug dans le forum Excel
    Réponses: 7
    Dernier message: 16/02/2015, 13h50
  2. Rechercher plage dans une colonne puis supprimer doublon
    Par vr_brandon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/10/2011, 11h20
  3. [XL-MAC 2011] Rechercher le nombre d'initiales de noms dans une plage
    Par gcroset dans le forum Excel
    Réponses: 5
    Dernier message: 16/09/2011, 18h28
  4. recherche dans une plage dans des fichiers fermés
    Par kikuyu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2008, 10h20
  5. [date] Recherche dans une plage de dates
    Par astro84 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/06/2005, 17h13

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