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 :

Chercher une valeur dans plusieurs onglets et renvoyer la valeur de l'onglet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Par défaut Chercher une valeur dans plusieurs onglets et renvoyer la valeur de l'onglet
    Bonjour,

    J'essaye de faire quelque chose d'un peu tordu et je plante un peu...

    J'ai un fichier 1 avec des valeurs dans la colonne A.
    J'ai un fichier 2 avec plusieurs onglets qui contiennent ou non dans la colonne A ces mêmes valeurs.

    Dans mon fichier 1, je voudrais renvoyer dans la colonne B dans quel onglet du fichier 2 la valeur se trouve, ou NA si elle n'y est pas.

    Merci d'avance pour le coup de pouce!!

    Guillaume

  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
    Bonsoir,
    Une idée à adapter :
    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
    Private Sub CommandButton1_Click()
    Dim wB1 As Workbook, wB2 As Workbook, trouve As Range
    Dim Ws1 As Worksheet, Ws2 As Worksheet, plage2 As Range
    Dim i1 As Long, i2 As Long, plage1 As Range, cel As Range
    Set wB1 = Workbooks("a_sup1.xlsm") 'nom fichier à completer
    Set wB2 = Workbooks("a_sup2.xlsm") 'nom fichier à ausculter
    Set Ws1 = wB1.Worksheets("feuil1")
    i1 = Ws1.Range("A" & Ws1.Rows.Count).End(xlUp).Row
    Set plage1 = Ws1.Range("A2:A" & i1)
    Ws1.Range("B2:B" & i1) = "NA"
    For Each cel In plage1
       For Each Ws2 In wB2.Worksheets
          i2 = Ws2.Range("A" & Ws2.Rows.Count).End(xlUp).Row
          Set plage2 = Ws2.Range("A2:A" & i2)
          Set trouve = plage2.Find(cel)
          If Not trouve Is Nothing Then
             cel(1, 2) = Ws2.Name
          End If
       Next Ws2
    Next cel
    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...)

Discussions similaires

  1. copier une valeur dans plusieurs champs
    Par deborah95 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 10/02/2009, 16h11
  2. Rechercher une valeur dans plusieurs feuilles
    Par modus57 dans le forum Excel
    Réponses: 28
    Dernier message: 30/03/2008, 18h54
  3. chercher une expression dans plusieurs fichiers ?
    Par condor_01 dans le forum Ubuntu
    Réponses: 3
    Dernier message: 11/09/2007, 20h28
  4. recopier une valeur dans plusieurs enregistrements
    Par moicats dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 17h02
  5. Renvoyer la valeur dans une fenêtre
    Par ouam81 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/12/2005, 11h34

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