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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
Sub Compare_Copie()
'K : Comparer avec la feuille des machines et ajouter le N° détagère
'-compare la cellule "A2" de la colonne "A" feuille "Essai" classeur "Inventaire-Essai.xls" avec toutes les cellules de la
colonne "B" de la feuille "Recapitulatif" du classeur "1Emplacement"
'Si une valeur identique est trouvée: Remplacer le contenu de la cellule "3" (C) de la feuille Essai du classeur "Inventaire-
Essai.xls"
'par le contenu de la cellule de la colonne "J" de la feuille "Recapitulatif" du classeur "1Emplacement" dont la valeur est
la même.
'Sinon reprendre la comparaison a la cellule "A3" et ce jusqu'à la fin de la colonne "A"
'Travail sur 2 feuilles dans 2 classeurs différents)
'Définition =======================
Dim Cel As Range, Cel_A As Range
Dim F_A As Worksheet, F_B As Worksheet
'Chemins ==============================
'Set F_A = Workbooks("Inventaire-Essai.xls").Sheets("essai")
'Set F_B = Workbooks("1Emplacement.xls").Sheets("Recapitulatif")
'ou
Set F_A = Workbooks("Inventaire-Essai.xls").Sheets(3)
Set F_B = Workbooks("1Emplacement.xls").Sheets(2)
'Traitement =======================
For Each Cel In F_A.Range(F_A.[A1], F_A.Range("A" & Rows.Count).End(xlUp)) 'Pour chaque cellule de A
'Cel = cellules de références de feuille 3
If Not (IsEmpty(Cel)) Then 'si Cel n'est pas vide
Set Cel_A = F_B.Columns(2).Find(Cel) 'Columns(2)= colonne B
'fixer Cel_a en tant cellule trouvée identique à Cel 'CelA = cellules de références de feuille 4
If Not (Cel_A Is Nothing) Then 'si Cel_A existe
'Copie =======================
'(Différentes options à activer ou désactiver, voir modifier selon les besoins)
' Une seule est normalement nessessaire)
'F_A.Range(Cel.Offset(0, 1), Cel.Offset(0, 1)).Copy F_B.Cells(Cel_A.Row, "B")
'Copie les cellules B et C de la feuille 3 en C et D de la feuille 4
'copier B et C de Cel sur C et D de Cel_A
'F_A.Range(Cel.Offset(0, 1), Cel.Offset(0, 2)).Copy F_B.Cells(Cel_A.Row, "B")
'copier B et C de Cel sur C et D de Cel_A
'F_A.Range(Cel.Offset(0, 1), Cel.Offset(0, 1)).Copy F_B.Cells(Cel_A.Row, "c")
'Copie les cellules B de la feuille 3 en D de la feuille 4
'F_B.Range(Cel_A.Offset(0, 1), Cel_A.Offset(0, 1)).Copy F_A.Cells(Cel.Row, "c")
'Copie les cellules B de la feuille 4 en C de la feuille 3
'F_B.Range(Cel_A.Offset(0, 1), Cel_A.Offset(0, 1)).Copy F_A.Cells(Cel.Row, "e")
'Copie les cellules C de la feuille 4 en E de la feuille 3
F_B.Range(Cel_A.Offset(0, 4), Cel_A.Offset(0, 4)).Copy F_A.Cells(Cel.Row, "C")
'Copie les cellules F de la feuille 4 en C de la feuille 3
'(J=9 : Colonne de référence + différence pour colonne à copier)
'F_B.Range(Cel_A.Offset(0, 9), Cel_A.Offset(0, 6)).Copy F_A.Cells(Cel.Row, "C")
'Copie les cellules H, I, J, K de la feuille 4 en C, D, E, F de la feuille 3
End If
End If
Next Cel 'Cel suivante
End Sub |
Partager