Bonjour,
Avant tout merci du temps que vous passez sur cette page.
Voici mon problème :
J'ai en colonne "B" des étapes (de 1 à 4 sur mon exemple), je souhaiterai couper coller l'ensemble des colonnes correspondant aux lignes de l'étape 1, de l'étape 2.....
Je souhaiterai que chaque étape soit mise dans une nouvelle feuille.
J'ai actuellement ceci comme code, loin d'être optimal il fonctionne à peu pret, mon problème c'est que je souhaiterai dans ma boucle for sur i pouvoir appeler la sheet( Etape j) avec j un incrément (du nombre d'étape présent).
Voici le code :
Sub Macro3()
'
' Macro3 Macro
'
'
Dim MS As Worksheet, sh As Worksheet
Dim DernLigne As Long
Dim l As Long
Dim DerniereLigne As Long
Dim MaCell As Range
Dim Etape As Range
Dim Etapetrouve As String, PlageDeRecherche As Range
Dim Valeur_Cherchee As String
Dim i As Long
Dim j As Long
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Etape 1"
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Etape 2"
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Etape 3"
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Etape 4"
Sheets("Essai1.steps.tracking").Select
DernLigne = Range("B" & Rows.Count).End(xlUp).Row
Columns("B:D").Select
Range("B4").Activate
Selection.Delete Shift:=xlToLeft
Columns("C").Select
Range("C4").Activate
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C2").Select
ActiveCell.FormulaR1C1 = "=RC[+1]/70.856"
Range("C1").Select
ActiveCell.FormulaR1C1 = "contrainte(MPa)"
Range("C2").Select
Selection.AutoFill Destination:=Range(Cells(2, 3), Cells(DernLigne, 3))
Range(Cells(2, 3), Cells(DernLigne, 3)).Select
Columns("F:F").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("F1").Select
ActiveCell.FormulaR1C1 = "def (%)"
Range("F2").Select
ActiveCell.FormulaR1C1 = "=(RC[1]-0.0053)*4"
Range("F2").Select
Selection.AutoFill Destination:=Range(Cells(2, 6), Cells(DernLigne, 6))
Range(Cells(2, 6), Cells(DernLigne, 6)).Select
With ThisWorkbook.Sheets("Essai1.steps.tracking")
For j = 1 To 4
For i = 2 To .Range("B" & .Rows.Count).End(xlUp).Row
If .Range("B" & i).Value = j Then
.Rows(i).Cut
Sheets("Etape j").Select
Range("A1").Offset(i, 0).Select
ActiveSheet.Paste
End If
Next i
Next j
End With
End Sub
Je mets aussi en pièce jointe le fichier excel pour plus de facilité.
Encore Merci, hésitez pas à poser des questions.
Cordialement