Bonsoir à tous,
Je souhaiterais juste savoir comment faire par macro pour lire et copier une partie d'un fichier txt jusqu'à une ligne dont le numéro est stocké dans une variable et calculé à partir d'une valeur apparaissant à une ligne donnée du fichier texte. Comme c'est pas forcément très clair, je vais mettre le bout de code que j'ai essayé de faire:
Sub Rotation_fichier()
fichierL = Application.GetOpenFilename()
textline = ""
ligne = 1
Open fichierL For Input As #1 ' Ouvre le fichier.
Do While Not EOF(1) ' Effectue la boucle jusqu'à la fin du fichier.
Line Input #1, textline ' Lit la ligne dans la variable.
If ligne = 4 Then
nC = CInt(textline)
ElseIf ligne = 5 Then
angleC = CDec(textline)
ElseIf ligne = 6 Then
nGamma = CInt(textline)
End If
ligne = ligne + 1
Loop
'Déjà dans cette dernière boucle j'ai du mal à comprendre comment le lien se fait entre la variable "ligne" et la ligne du fichier texte qui doit être lue, mais ça ça marche
anglerotation = InputBox("De combien de degrés voulez-vous tourner le fichier ?", "Angle de rotation", "90")
Nblignesentete = 42 + nC + nGamma
Premierelignedeuxiemepartie = nGamma * ((360 - anglerotation) / angleC) + 42 + 1
'Voilà et là je voudrais juste dire de copier les lignes du fichier texte jusqu'à la ligne juste avant la ligne n°Premierelignedeuxiemepartie et copier ces lignes dans le fichier excel, ça ressemble peut-être à ce que j'ai essayé maladroitement de faire ci-après mais qui génère un message d'erreur:
ligne = 1
textline = ""
Do While ligne < Premierelignedeuxiemepartie
Line Input #1, textline
Sheets(1).Range("A1").Offset(ligne, 0).Value = textline
ligne = ligne + 1
Loop
End Sub
Merci d'avance de votre aide!
Samuel