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
| Sub NouvelOngletpourlesvols()
'met les vols dans l'ordre alphabetique
derniere_ligne = Range("E3").End(xlDown).Row
Range("B3:B" & derniere_ligne).Select
Range("B2:O" & derniere_ligne).Sort Key1:=Range("B3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'crée un nouvel onglet avec le nom du vol en B3 plus le nom du jour en B5
'Worksheets.Add.Name = _
'Worksheets("Data Input").Range("B3").Value & " " & Worksheets("Data Input").Range("D3").Value
'activation de l'onglet ("Data Input")
Sheets("Data Input").Activate
'création d'integer??? pour pouvoir créer des fonctions on dirait
'On définit ici le type de variantes que l'on va utiliser.
'Fais des recherches là dessus, c'est très important
Dim premierecellule As Integer
Dim dernierecellule As Integer
Dim nv_sh as string
dim i as integer
'1ère ligne où commence les données
'Il faut initialiser une fois avant la boucle ....
i = 3
premiereligne = i
'tu définies que la dernière ligne à chercher commence à la ligne suivante
derniereligne = i + 1
Do While Cells(i, 2) <> Empty
'et une fois dans la boucle pour que ça se réinitialise à chaque passage
premiereligne = i
'tu définies que la dernière ligne à chercher commence à la ligne suivante
derniereligne = i + 1
Worksheets.Add.Name = _
Worksheets("Data Input").Range("B" & i).Value & " " & Worksheets("Data Input").Range("D" & i).Value
nv_sh = Worksheets("Data Input").Range("B" & i).Value & " " & Worksheets("Data Input").Range("D" & i).Value
Sheets("Data Input").Activate
'tu boucle tant que les 2 valeurs sont égales
Do While Range("B" & derniereligne) = Range("B" & premiereligne)
'en incrémentant à chaque passage la ligne
derniereligne = derniereligne + 1
Loop
'tu selectionne de la première cellule à la dernière trouvée -1
'sinon tu vas selectionner la première différente et non la dernière égale !
'sélection de la ligne du titre plus des lignes avec le vol identique
'Attention, tu vas ici selectionner la ligne du dessus, je te laisse le modifier
Range(Cells(premiereligne - 1, 2), Cells(derniereligne - 1, 15)).Select
'Copie de ces lignes
Selection.Copy
'selection de l'onglet nouvellement créé donc le plus à gauche
Sheets(nv_sh).Select
'collage
Range("B2").Select
ActiveSheet.Paste
'mise en forme des données du nouvel onglet
Cells.Select
Cells.EntireColumn.AutoFit
Columns("C:D").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("K:L").Select
Selection.Delete Shift:=xlToLeft
Columns("K:K").Select
Selection.Cut
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Range("B2").Select
Sheets("Data Input").Activate
i = derniereligne
Loop
end sub |
Partager