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
| Private Sub CommandButton1_Click()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim R As Range 'déclare la variable R (Recherche)
Dim PA As String 'déclare la variable PA (Première Adresse)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Dim n As String 'déclare la variable N (Nom)
Dim pathfile As String
Set OS = Worksheets("Feuil2") 'définit l'onglet source OS (à adapter à ton cas)
Set OD = Worksheets("Feuil3") 'définit l'onglet destination OD (à adapter à ton cas)
Set R = OS.Columns(5).Find(">limite", , xlValues, xlWhole) 'définit la recherche R (recherche les occurrences de ">seuil" dans la colonne 5 (=E) de l'onglet source OS
If Not R Is Nothing Then 'condition : s'il existe au moins une occurrence
PA = R.Address 'définit l'adresse PA de la première occurrence trouvée
Do 'exécute
'définit la cellule de destination DEST (A1 si A1 est vide, sinon la première cellule vide de la colonne A de l'onglet destination OD)
If OD.Range("A1").Value = "" Then Set DEST = OD.Range("D1") Else Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 3)
DEST.Value = Mid(OS.Cells(R.Row, 1).Value, 3) 'récupère les numéros de R
DEST.Offset(0, -3) = "taille"
DEST.Offset(0, -2) = "enfants"
DEST.Offset(0, -1) = 0
DEST.Offset(0, 1).Value = Mid(OS.Cells(R.Row, 2), 3) 'récupère les numéros de T
n = OS.Cells(R.Row, 1).End(xlUp).Value 'récupère le nom
n = Left(n, Len(n) - 4) 'enlève l'extension
DEST.Offset(0, 3).Value = n 'récupère le nom
Select Case Right(n, 3)
Case Is = "T1"
DEST.Offset(0, 2) = 600
Case Is = "T2"
DEST.Offset(0, 2) = 800
Case Is = "T3"
DEST.Offset(0, 2) = 900
Case Is = "T4"
DEST.Offset(0, 2) = 1000
Case Is = "T5"
DEST.Offset(0, 2) = 1200
End Select
Set R = OS.Columns(5).FindNext(R) 'redéfinit la recherche R (occurrence suivante)
Loop While Not R Is Nothing And R.Address <> PA 'boucle tant qu'il existe de nouvelles occurrences ailleurs qu'en PA
End If 'fin de la condition
pathfile = ThisWorkbook.path & "\"
Worksheets("Feuil3").SaveAs FileName:=pathfile & "ACXXX.bat", _
FileFormat:=xlTextMSDOS, CreateBackup:=False
End Sub |
Partager