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 :

codage vba: recherchev sur plusieurs onglets


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 94
    Points : 72
    Points
    72
    Par défaut codage vba: recherchev sur plusieurs onglets
    Bonjour à tous,

    Je suis sur un projet ou je suis deja bloqué depuis lundi.
    Il s'agit de coder en vba une recherchev sur plusieurs onglets.

    Sur mon premier onglet "collecte AP" je cherche dans la colonne B la valeur correspondante au code associé.
    Ces valeurs sont dans les autres onglets.

    J'ai commencé à écrire le code ci dessous. Cependant? je n'arrive pas à coder la suite, cest à dire: lorsque la vl n'est pas présent dans mon premier onglet "Rappro_GVIE_global" j'aimerai effectuer la recherche sur les autres onglets.

    Je vous transmet le fichier en PJ.
    Merci par avance de votre aide.


    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 recheche()
     
    i = 9
     
        While IsEmpty(Cells(i, 1)) = False
     
        j = 1
        While IsEmpty(Sheets("Rappro_GVIE_global").Cells(j, 1)) = False
        If Cells(i, 1) = Sheets("Rappro_GVIE_global").Cells(j, 1) Then Cells(i, 2) =  Application.VLookup(Cells(i, 2), Sheets("Rappro_GVIE_global").Range("a:z"), 3, 0)
     
        else if
     
        j = j + 1
     
       Wend
     
     
    i = i + 1
     
    Wend
     
    End Sub
    Fichiers attachés Fichiers attachés

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

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

    Pour rechercher sur toutes les feuilles, une solution est de boucler sur ces dernières.

    Une proposition ci dessous
    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
     
     
    Sub Recherche2()
     
    Dim Sh As Worksheet
    Dim Rg As Range
    Dim i As Long
     
    'Boucle sur chaque ligne de recherche
    For i = 9 To Me.Range("A" & Rows.Count).End(xlUp).Row
        'Boucle sur chaque Feuille
        For Each Sh In ThisWorkbook.Worksheets
            'Ne travail pas si la feuille = feuille destination
            If Sh.Name <> Me.Name Then
                'Recherche la valeur
                Set Rg = Sh.Range("A:A").Find(what:=Me.Range("A" & i).Value, LookAt:=xlWhole)
                'Si Trouvé
                If Not Rg Is Nothing Then
                    'On met la valeur de la colonne C dans la colonne B de la feuille destination
                    Me.Range("B" & i).Value = Rg.Offset(0, 2).Value
                    Exit For
                End If
            End If
        Next Sh
    Next i
     
     
    End Sub
    Jérôme

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 94
    Points : 72
    Points
    72
    Par défaut
    Bonjour jfontaine.

    J'ai essayé d'appliquer ton code mais en lancant la macro rien n'a été calculé.


    Faisant mes tous premiers en VBA, pourrais tu dévelloper un plus ton idée

    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 94
    Points : 72
    Points
    72
    Par défaut
    Merci ca marche bien.

    Maintenant si je rajoute un critere de plus sur ma recherchev, comment devrai je coder ca?

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

Discussions similaires

  1. [XL-2007] Macro VBA pour imprimer plusieurs onglets sur une feuille recto verso
    Par oekoniko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/03/2014, 15h24
  2. Utiliser RECHERCHEV sur plusieurs onglets
    Par Trystan18 dans le forum Excel
    Réponses: 5
    Dernier message: 15/01/2013, 08h54
  3. Macro exécutée sur plusieurs onglets
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/06/2007, 09h59
  4. Export requete sur excel sur plusieur onglets
    Par Renardo dans le forum Access
    Réponses: 10
    Dernier message: 26/01/2007, 17h13
  5. [VBA-E] Impression page paire sur plusieurs onglets
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 17/02/2005, 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