Recherche de plusieurs valeurs en faction de plusieurs critères
Résolu/Fermé
Ielosub
Messages postés
4
Date d'inscription
jeudi 13 octobre 2016
Statut
Membre
Dernière intervention
7 novembre 2016
-
4 nov. 2016 à 16:32
Ielosub Messages postés 4 Date d'inscription jeudi 13 octobre 2016 Statut Membre Dernière intervention 7 novembre 2016 - 7 nov. 2016 à 16:59
Ielosub Messages postés 4 Date d'inscription jeudi 13 octobre 2016 Statut Membre Dernière intervention 7 novembre 2016 - 7 nov. 2016 à 16:59
A voir également:
- Recherche de plusieurs valeurs en faction de plusieurs critères
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Windows 10
- Recherche adresse - Guide
- Excel liste de valeurs - Guide
- Recherche photo - Guide
1 réponse
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
4 nov. 2016 à 19:16
4 nov. 2016 à 19:16
Bonsoir Ielosub (Marine ?) , bonsoir le forum,
Le code ci-dessous considère que les connées se trouvent dans le premier onglet de chaque classeur et qu'elles commencent dans la cellule A1. Sinon il faudra adapter...
Tu dois le placer dans le classeur A qui, par conséquent, prendra l'extension xlsm si tu as une version d'Excel après 2003.
il faut que les deux classeurs soient au préalablement ouverts avant de lancer la macro.
Vérifie et/ou adapte les noms des classeurs...
Le code:
Le code ci-dessous considère que les connées se trouvent dans le premier onglet de chaque classeur et qu'elles commencent dans la cellule A1. Sinon il faudra adapter...
Tu dois le placer dans le classeur A qui, par conséquent, prendra l'extension xlsm si tu as une version d'Excel après 2003.
il faut que les deux classeurs soient au préalablement ouverts avant de lancer la macro.
Vérifie et/ou adapte les noms des classeurs...
Le code:
Sub Macro1() Dim CS As Workbook 'déclare la variable CS (Classeur Source) Dim OS As Worksheet 'déclare la variable OS (Onglet Source) Dim CD As Workbook 'déclare la variable CD (Classeur Destination) Dim OD As Worksheet 'déclare la variable OD (Onglet Destination) Dim TS As Variant 'déclare la variable TS (Tableau Source) Dim TD As Variant 'déclare la variable TD (Tableau Detination) Dim I As Long 'déclare la variable I (Incrément) Dim J As Long 'déclare la variable J (incrément) Dim DEST As Range 'déclare la variable DEST (crellule de DESTination) Set CS = Workbooks("Classeur B.xlsx") 'définit le classeur source CS (à adapter) Set OS = CS.Worksheets(1) 'définit l'onglet source OS (à adapter) Set CD = Workbooks("Classeur A.xlsm") 'définit le classeur destination CD (à adapter) Set OD = CD.Worksheets(1) 'définit l'onglet destination OD (à adapter) TS = OS.Range("A1").CurrentRegion 'définit le tableau source TS TD = OD.Range("A1").CurrentRegion 'définit le tableau destination TD For I = 1 To UBound(TD, 1) 'boucle 1 : sur toutes les lignes I du tableau destination TD For J = 1 To UBound(TS, 1) 'boucle 2 : sur toutes les lignes J du tableau source TS If TD(I, 1) & TD(I, 2) = TS(J, 1) & TS(J, 2) Then 'condition : si la donnée ligne I colonne 1 concatenée avec la donnée lige I colonne 2 de TD est égale 'à la donnée ligne J colonne 1 concaténée à la donnée ligne J colonne 2 de TS Set DEST = OD.Cells(I, Application.Columns.Count).End(xlToLeft).Offset(0, 1) 'définit la cellule de destination DEST DEST.Value = TS(J, 3) 'renvoie dans DEST la valeur de la donnée ligne J colonne 3 de TS End If 'fin de la condition Next J 'prochaine ligne de la boucle 2 Next I 'prochaine ligne de la boucle 1 End Sub
7 nov. 2016 à 16:59