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 :

MACRO pour RECHERCHEV [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable Commercial
    Inscrit en
    mars 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Commercial
    Secteur : Finance

    Informations forums :
    Inscription : mars 2014
    Messages : 51
    Points : 30
    Points
    30
    Par défaut MACRO pour RECHERCHEV
    Bonjour,

    Je souhaite pouvoir automatiser des RECHERCHEV par un code VBA à insérer dans un module général où j'ai déjà d'autres macro.
    J'ai un très grand tableau, que je suis amené à mettre à jour régulièrement.

    En détail :
    Un seul classeur avec plusieurs feuilles, dont "SOURCE" et "DESTINATION". Si, dans la colonne A (de A3 à A2000) de ma feuille "SOURCE", je trouve la valeur de la colonne A (de A3 à A2000) de ma feuille "DESTINATION", alors je dois copier la valeur des colonnes qui vont de E à G (de la ligne 3 à la ligne 2000) de ma feuille "SOURCE" dans les colonnes AN à AP (de la ligne 3 à la ligne 2000) de ma feuille "DESTINATION".
    Toutes les cellules de la plage E3 : G2000 (SOURCE) ne contiennent pas de valeurs. Aussi, quand il n'y a aucune valeur, je souhaite éviter les valeurs N/A et autres.

    J'ai bien trouvé quelques exemples de codes avec Vlookup ici et là, mais rien qui soit bien adapté à mon cas.

    Pouvez-vous m'aider SVP.
    Merci d'avance.
    Cordialement.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 3 453
    Points : 6 865
    Points
    6 865
    Par défaut
    Bonjour,

    Ce matin je n'ai pas trop le temps mais comme il te faut les numéros des lignes, je pense que la fonction Match serait plus indiquée que Vlookup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WorksheetFunction.Match
    Hervé.

    Voilà un exemple avec Match :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub Test()
     
        Dim FeSource As Worksheet
        Dim FeDest As Worksheet
        Dim PlgSource As Range
        Dim PlgDest As Range
        Dim Cel As Range
        Dim Ligne As Long
     
        'défini les feuilles
        Set FeSource = Worksheets("SOURCE")
        Set FeDest = Worksheets("DESTINATION")
     
        'défini les plages
        With FeSource
     
            Set PlgSource = .Range(.Cells(3, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        With FeDest
     
            Set PlgDest = .Range(.Cells(3, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        'parcour la plage (en colonne A) de la feuille de destination
        For Each Cel In PlgDest
     
            'gestion de l'erreur de la valeur non trouvé
            On Error Resume Next
            Ligne = Application.WorksheetFunction.Match(Cel.Value, PlgSource, 0) + 2 'rajoute 2 car départ de plage en ligne 3
     
            'si pas d'erreur, récupère les valeurs en colonnes E:G et les inscrit en colonne AN:AP
            If Err.Number = 0 Then
     
                Cel.Offset(, 39).Resize(, 3).Value = FeSource.Cells(Ligne, 1).Offset(, 4).Resize(, 3).Value
     
            End If
     
        Next Cel
     
    End Sub
    Hervé.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable Commercial
    Inscrit en
    mars 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Commercial
    Secteur : Finance

    Informations forums :
    Inscription : mars 2014
    Messages : 51
    Points : 30
    Points
    30
    Par défaut
    Bonsoir Hervé,

    Merci, c'est exactement ce que je souhaitais. T'es au top ! !
    Cordialement.

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

Discussions similaires

  1. [XL-2007] Macro pour "modifier" la fonction RechercheV
    Par Dragoon51Fly dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/03/2015, 10h04
  2. MACRO pour RECHERCHEV
    Par janigrel dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/03/2014, 06h49
  3. [XL-2007] Macro pour recherchev
    Par Fred4345 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 18/10/2011, 22h39
  4. macro pour splashscreen
    Par stoads dans le forum IHM
    Réponses: 20
    Dernier message: 26/11/2005, 12h33
  5. [VBA-E] [help]macro pour dupliquer une feuille (en valeur)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 07/11/2005, 19h24

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