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
| Sub Chercher_QTE_copie_colonne()
'chercher "Désignation" dans la feuille "Matière"et renvoyer son adresse
Dim Ligne As Integer
Dim Colonne As Integer
Dim Add_Designation As String
Dim Add_QTE As String
Dim i As Integer
Dim Cellule_designation As Range
Dim Cellule_QTE As Range
Dim nb_ligne As Integer
Dim ligne_QTE As Range
'l'adresse de la cellule ayant la cdc "Désignation"
For Each Cells In Worksheet("Matière")
If exact("Désignation", Cells.Value) = True Then Add_Designation = Cells.AddressLocal(False, False, xlA1, False)
End If
Next
'identifier la cellule cible
Cellule_designation = Range(Add_Designation, Add_Designation)
'Compter le nombre de lignes de la colonne en comptant le nb de cellule de couleur cyan
For Each Cellule In Cellule_designation
If Cellule.Interior.ColorIndex = 24 Then 'cyan
nb_lignes = nb_ligne + Cellule.Count
End If
Next
'copier la colonne Désignation
For i = 0 To nb_ligne
Worksheets("Matière").Cellule_designation.Offset(i, 0).Copy _
Destination:=ActiveWindow.ActivatePrevious.Worksheets("Données").Range("A1").Offset(i, 0)
Next i
'===============================================================================================
'trouver l'adresse de la première occurence de QTE dans la ligne 2
'copier la colonne QTE
Set ligne_QTE = Worksheets("Matière").Range("A2").EntireRow
Cellule_QTE = Worksheets("Matière").Range("A2").Offset(0, WorksheetFunction.Match("QTE", ligne_QTE, 0) - 1)
For j = 1 To nb_ref
For i = 0 To nb_ligne
Cellule_QTE.Offset(0, 2 * i).Copy _
Destination:=ActiveWindow.ActivatePrevious.Worksheets("Données").Range("A1").Offset(i, j)
Next i
Next j
End Sub |
Partager