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
| Sub Insertionsligne()
Dim Cel As Range
Dim Texte
Dim I As Integer
Dim J As Integer
'stocke dans un tableau Variant les mots à rechercher, à adapter... trouver ces mots clefs --> Traiter ces lignes
Texte = Array("Fabrication mécanique", "Surface", "Electromécanique", "Mécanique", "Electrique", "Imagerie RX", "Equipements", "Informatique", "Marquage*-*Etiquetage", "Outillage", "Bureautique", "Sous*traitance", "Prestataire*de*Services")
'
'boucle sur le tableau
For I = 0 To UBound(Texte)
'la recherche est en correspondance exacte (xlWhole) et sur la colonne B de la feuille "Feuil1", à adapter...
Set Cel = Worksheets("Feuil2").Columns("A:A").Find(Texte(I), , xlValues, xlWhole)
If Not Cel Is Nothing Then
I = Cel.Row ' j'ai remplacé par I au lieu de J'
'insersion des lignes
Rows(I + 1 & ":" & I + 5).Insert xlDown
'copie de la cellule B sur les cellules des lignes insérées
Range("A" & I).AutoFill Range("A" & I & ":A" & I + 5), 1
'déplacement des valeurs
Range("C" & I).Cut Destination:=Range("B" & I + 1)
Range("D" & I).Cut Destination:=Range("B" & I + 2)
Range("E" & I).Cut Destination:=Range("B" & I + 3)
Range("F" & I).Cut Destination:=Range("B" & I + 4)
Range("G" & I).Cut Destination:=Range("B" & I + 5)
End If
Next I
End Sub |
Partager