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 :
108 :
109 :
110 :
111 :
112 :
113 :
114 :
115 :
116 :
117 :
118 :
119 :
120 :
121 :
122 :
123 :
124 :
125 :
126 :
127 :
128 :
129 :
130 :
131 :
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
141 :
142 :
143 :
144 :
145 :
146 :
147 :
148 :
149 :
150 :
151 :
|
Sort_2_cols_to_grid secondaires ()
'********************************************
'** Prétentions
'********************************************
'** - débuts de données dans la rangée 23. La dernière rangée est calculée par macro
'** - les valeurs dans la colonne A et F sont mêmes
'** - les valeurs dans la colonne C et H sont mêmes
'** - les valeurs sont dans les colonnes A, B, C, F, G, H
'********************************************
Sur l'erreur skip1 GoTo
Faible DataFirstRow en tant que longtemps
Faible DataLastRow en tant que longtemps
Faible DataCurrentRow en tant que longtemps
Faible ResultFirstRow en tant que longtemps
Faible ResultLastRow en tant que longtemps
Faible ResultCurrentRow en tant que longtemps
Faible ResultFirstCol en tant que longtemps
Faible ResultLastCol en tant que longtemps
Faible ResultCurrentCol en tant que longtemps
Faible RowTitle comme corde
Faible ColTitle comme corde
Faible Result1 comme corde
Faible Result2 comme corde
Si gamme (« B27 ») = "" puis skip1 GoTo
DataFirstRow = 27
DataLastRow = [A65536]. Extrémité (xlUp). Rangée
'Rame (« 1 : 1 »). Choisi
'Décalage de Selection.Delete : =xlUp
'Décalage de Selection.Insert : =xlDown
ResultFirstRow = 1 'rangée 1
ResultFirstCol = 6 'colonne F
'Gamme (« G2 : AT21 ») .ClearContents
'D'abord nous avons installé les titres de rangée dans la rangée 1
' ces titres de rangée sont de la colonne C (3) et H
' et commencera à partir de la colonne G (7)
Si 1 = 2 puis
ResultCurrentRow = 1
ResultCurrentCol = 7
Pour DataCurrentRow = DataFirstRow à DataLastRow
ColTitle = cellules (DataCurrentRow, 3)
S'IsError (Application.Match (ColTitle, gamme (cellules (ResultFirstRow, ResultFirstCol), cellules (ResultFirstRow, ResultCurrentCol)), 0)) Puis
Cellules (ResultCurrentRow, ResultCurrentCol) = ColTitle
ResultCurrentCol = ResultCurrentCol + 2
Finir si
Prochain DataCurrentRow
ResultLastCol = ResultCurrentCol - 1
Autrement
ResultLastCol = 54
ResultLastRow = 25
Finir si '1=2
'Après nous avons installé les titres de rangée dans la colonne F (6)
ResultCurrentRow = 2 - 1
ResultCurrentCol = 6
Pour DataCurrentRow = DataFirstRow à DataLastRow
RowTitle = cellules (DataCurrentRow, 1)
'S'IsError (Application.Match (RowTitle, gamme (cellules (ResultFirstRow, 6), cellules (ResultCurrentRow, 6)), 0)) Puis
' ResultCurrentRow = ResultCurrentRow + 1
' Cellules (ResultCurrentRow, 6) = RowTitle
'Finir si
'Après nous prenons les données dans une boucle
' des colonnes A (1), B (2), C (3), et G (7)
' Localiser la rangée et les colonnes de résultat using l'allumette
' et coller alors les données de résultat
ColTitle = cellules (DataCurrentRow, 3)
ResultCurrentCol = Application.Match (ColTitle, gamme (cellules (ResultFirstRow, ResultFirstCol), cellules (ResultFirstRow, ResultLastCol)), 0)
ResultCurrentRow = Application.Match (RowTitle, gamme (cellules (ResultFirstRow, ResultFirstCol), cellules (ResultLastRow, ResultFirstCol)), 0)
'Cellules (DataCurrentRow, 2).Copy
'Cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1).Select
'ActiveSheet.Paste
'Cellules (DataCurrentRow, 7).Copy
'Cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol). Choisi
'ActiveSheet.Paste
Result1 = cellules (DataCurrentRow, 2)
Result2 = cellules (DataCurrentRow, 7)
'Vérifier si la grille est vide
S'IsEmpty (les cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1)) = rectifient alors
Cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1) = « ' » + Result1
Cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol) = « ' » + Result2
Autrement
'Vérifier la deuxième grille vers la droite
S'IsEmpty (cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1 + 24)) = rectifier alors
Cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1 + 24) = « ' » + Result1
Cellules (ResultCurrentRow, ResultCurrentCol + ResultFirstCol + 24) = « ' » + Result2
Autrement
'Vérifier la troisième grille (le fond gauche)
S'IsEmpty (les cellules (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1)) = rectifient alors
Cellules (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1) = « ' » + Result1
Cellules (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol) = « ' » + Result2
Autrement
'Vérifier la quatrième grille (le bon fond)
S'IsEmpty (cellules (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1 + 24)) = rectifier alors
Cellules (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1 + 24) = « ' » + Result1
Cellules (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol + 24) = « ' » + Result2
Autrement
MsgBox « toutes les grilles sont plein pour ce montage »
Finir si
Finir si
Finir si
Finir si
Prochain DataCurrentRow
Si 1 = 2 puis
Pour ResultCurrentCol = ResultFirstCol + 1 à l'étape 2 de ResultLastCol
Gamme (cellules (ResultFirstRow, ResultCurrentCol), cellules (ResultFirstRow, ResultCurrentCol + 1)). Choisi
Application.CutCopyMode = faux
Avec le choix
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = faux
. Orientation = 0
.AddIndent = faux
.ShrinkToFit = faux
.MergeCells = faux
Extrémité avec
Selection.Merge
Prochain ResultCurrentCol
Finir si '1=2
'caractère centar de delet de grille
Gamme (« G2 : BB25 »). Choisi
Selection.Replace ce qui : = " '« , remplacement : = "", LookAt : =xlPart, _
SearchOrder : =xlByRows, MatchCase : =True, SearchFormat : =False, _
ReplaceFormat : =False
Selection.Replace ce qui : = " """, remplacement : = "", LookAt : =xlPart, _
SearchOrder : =xlByRows, MatchCase : =True, SearchFormat : =False, _
ReplaceFormat : =False
Selection.Replace ce qui : = " ¤ ", remplacement : = "", LookAt : =xlPart, _
SearchOrder : =xlByRows, MatchCase : =True, SearchFormat : =False, _
ReplaceFormat : =False
Cells.Select
skip1 :
Sous-marin d'extrémité
|