Bonjour,
Novice en vba, je cherche à croiser deux tableaux situés chacun dans une feuille différente selon deux colonnes bien précises et communes au deux tableaux. Pour chaque itération trouvée dans la première colonne donc, je dois contrôler la valeur de la deuxième colonne. Lorsque les deux résultat concorde, je dois enfin copier les cellules de chaque tableau, y compirs celle non contrôlées, dans une troisième feuille du fichier.
J'ai bien cherché à trouver des exemples, même approchant, parmi la multitude d'exemples du site, sans trouver chaussure à mon pied.
Précision sur les tableaux :
Les tableaux on le format suivant : En rouge, un extract du DHCP d'un serveur. En bleu un autre extract de l'AD du même serveur.
NameDHCP | Domain | Mac Adress | IPV4DHCP et NameAD | OU | Domain | OS | OS Version |IPV4AD
La première comparaison ce fait entre la colonne NameDHCP et NameAD. La seconde sur la colonne IPV4 Address.
S'il est possible d'avoir 2 fois la même valeur dans la colonne NameAD mais impossible dans la colonne IPV4DHCP pour le même nom.
Le but, une fois le croisement effectué d'obtenir un troisième tableau dans une nouvelle feuille comme suit : NameAD | OU | Domain | OS | OS Version |IPV4DHCP | Mac Adress
A ce stade, j'ai adapté un code découvert lors de mes recherches :
Mais ce code ne traite que le premier critère et je n'arrives pas à integrer le second...
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 Dim Sheet_Tab_AD, Sheet_Tab_DHCP, Sheet_Tab_XML As Worksheet Dim AD_Last_Line, DHCP_Last_Line, XML_Line, i, j As Integer Dim Trgt_Cells As String Application.ScreenUpdating = False '/* Définition des Noms de Feuilles */ Set Sheet_Tab_AD = Worksheets(2) Set Sheet_Tab_DHCP = Worksheets(1) Set Sheet_Tab_XML = Worksheets(3) '/* Définition de la dernière Ligne des tables AD & DHCP */ AD_Last_Line = Sheet_Tab_AD.Range("A1").End(4).Row DHCP_Last_Line = Sheet_Tab_DHCP.Range("A1").End(4).Row '/* Traitement Table AD & DHCP vers XML */ With Sheet_Tab_AD For i = 1 To AD_Last_Line Trgt_Cells = .Range("A" & i) For j = 1 To DHCP_Last_Line If Trgt_Cells = Sheet_Tab_DHCP.Range("A" & j) Then Sheet_Tab_XML.Range("A" & XML_Line + 1) = Trgt_Cells Sheet_Tab_XML.Range("B" & XML_Line + 1) = .Range("B" & i) Sheet_Tab_XML.Range("C" & XML_Line + 1) = .Range("C" & i) Sheet_Tab_XML.Range("D" & XML_Line + 1) = .Range("D" & i) Sheet_Tab_XML.Range("E" & XML_Line + 1) = .Range("E" & i) Sheet_Tab_XML.Range("F" & XML_Line + 1) = Sheet_Tab_DHCP.Range("D" & j) Sheet_Tab_XML.Range("G" & XML_Line + 1) = Sheet_Tab_DHCP.Range("C" & j) XML_Line = XML_Line + 1 End If Next Next End With Application.ScreenUpdating = True
Pouvez-vous m'aider ?
Merci d'avances.
Partager