Copie d'une valeur dans une colonne par rapport à une autre

Bonjour à tous,

Voici mon problème :

J'ai un fichier excel avec deux feuilles.

Chacune de ces feuilles est constituées d'un tableau avec X colonnes.

L'objectif est de parcourir les colonnes A B C D du tableau de la feuille 2 avec comme critère les valeurs de chaque ligne de la colonne A du tableau de la feuille 1.

Si jamais la valeur "xxxxxxxx" de la colonne A du tableau de la feuille 1 est présente dans une lignes des colonnes du tableau de la feuille 2 il faut que je copie la valeur de la colonne "Mail" qui correspond au résultat de ma recherche parmis toutes les colonnes du tableau de la feuille 2.

Ca à l'air compliqué avec tout mon charabia mais j'ai déjà réfléchis à un algo mais je bloque sur la copie de la valeur sur la même ligne que mon résultat de recherche.

Sub Main ()

Dim MaPlage As Range, Cel As Range

Set MaPlage = Sheets("customer_user").Range("Tableau13[CPE1]") ' je teste juste sur une colonne pour commencer

For each Cel In MaPlage ' parcours de toutes les colonnes IP définis plus haut

If Cel.Value = "178.255.162.120" then ' si c'est dans toutes les colonnes IP

' Alors on copie la ligne de la colonne mail dans mail du nouveau fichier.

Selection.Copy

Sheets("access_links").Select

Range[Tableau1[adresse mail].Paste ' Mais du coup je ne sais pas comment faire pour coller par rapport à la valeur rechercher plus haut.

Je ne sais pas si vous m'aurez compris ?

Merci pour votre aide.

Bonjour nonow,

Est-ce que tu pourrais nous donner un fichier excel pour exemple avec quelques données anonymisées ?

Tu peux y ajouter ton début de code si tu le souhaites

Je te remercie

Bien cordialement

Bonjour,

Je vous ai fait un petit exemple.

J'espère être claire même si c'est assez difficile à expliquer.

Le début de mon code est :

Sub Main_test()

Dim MaPlage As Range, Cel As Range

Set MaPlage = Sheets("customer_user").Range("Tableau1[IP ROUTEUR],Tableau1[IP ROUTEUR 2]")

For Each Cel In MaPlage ' toutes les colonnes IP

If Cel.Value = "178.255.162.120" Then ' je souhaiterai tester l'ensemble de ma colonne IP RADIUS ligne par ligne

Range("Tableau1[adresse mail]").Copy ' copie de l'adresse mail qui est sur la même ligne que la valeur retrouvée.

Sheets("access_links").Select

Range("Tableau2[mail]").Paste ' copie dans la case mail qui correspond à la bonne adresse IP

End Sub

Merci d'avance.

30test-exemple.xlsm (15.40 Ko)

Bonjour nonow,

Je te laisse faire un test grandeur nature, tu me dis si çà fonctionne ?

30test-exemple.xlsm (19.13 Ko)

Bonjour ça correspond à ce que je souhaite faire, le seul problème que je rencontre c'est qu'il ne me sort que les deux premières lignes même si j'ai la valeur en ligne 10 ou 15.

Pourtant j'ai l'impression que ça s'incrémente correctement..

24test-exemple.xlsm (20.32 Ko)

bonjour

un essai sans vba (pour les privés de )

35nonow.xlsx (13.01 Ko)

cordialement

Je m'étais trompé dans la formule...

32test-exemple-1.xlsm (18.84 Ko)

Bonjour,

Merci pour vos réponses si rapide

Vos deux réponses correspondent (quasiment) à ma demande.

Concernant la formule excel, le petit problème est que si il n'y a pas de correspondance avec une adresse mail, il me copie l'adresse mail de la ligne juste au dessus. Du coup j'ai des décalages sur certaines lignes.

Concernant le fichier avec la macro, tout est OK mais si jamais j'ai plusieurs adresses IP avec la même adresse mail, il ne me les retrouvent pas.

Comment puis-je modifier cela ?

Merci à tous.

Bonne journée.

bonjour

bizzare je viens de verifier : si rien >>>cell blanche sinon l'adresse (avec tonton par exemple )

cordialement

Comme çà ?

37test-exemple-1.xlsm (20.18 Ko)

Je test et je reviens vers vous.

Rechercher des sujets similaires à "copie valeur colonne rapport"