Bonjour,

J'ai rédigé une macro assez simple (voir ci-dessous) qui devrait me permettre de copier le nombre de ligne (variable) de l'onglet "Travel_completed" dans l'onglet "Flightlist".
Le soucis est qu'elle ne fonctionne que pour 2 lignes... et quand j'exécute le "pas à pas détaillé", en effet, c'est comme si, à partir de la 3ème ligne, il n'y avait plus rien dans le tableur... (qui possède pourtant 10 lignes dans mon cas test).
Lorsque je copie-colle mes 2 premières lignes, ça fonctionne avec mes 4 premières lignes... C'est à n'y rien comprendre...
Je ne peux malheureusement pas uploader mon fichier, qui est confidentiel...

Qqn est inspiré?

Merci!

Mélanie

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
Sub copytodepandarr()
Application.ScreenUpdating = False
Set F8 = Sheets("Travel_completed")
Set F5 = Sheets("FlightList")
q = F8.Cells(65536, 2).End(xlUp).Row
q = 18
j = F5.Cells(65536, 2).End(xlUp).Row
j = 3
With F8
 For q = 18 To .Cells(65536, 29).End(xlUp).Row
  If .Cells(q, 5).Value = "ISSUED" Then
    F5.Cells(j, 1) = .Cells(q, 1)
    F5.Cells(j, 2) = .Cells(q, 2)
    F5.Cells(j, 3) = .Cells(q, 3)
    F5.Cells(j, 4) = .Cells(q, 7)
    F5.Cells(j, 5) = .Cells(q, 8)
    F5.Cells(j, 6) = .Cells(q, 9)
    F5.Cells(j, 7) = .Cells(q, 10)
    F5.Cells(j, 8) = .Cells(q, 11)
    F5.Cells(j, 9) = .Cells(q, 12)
    F5.Cells(j, 10) = .Cells(q, 13)
    F5.Cells(j, 11) = .Cells(q, 14)
    F5.Cells(j, 12) = .Cells(q, 16)
    F5.Cells(j, 13) = .Cells(q, 17)
    F5.Cells(j, 14) = .Cells(q, 18)
    j = j + 1
  End If
  Next q
End With
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Sub isssuedmaj()
Set F8 = Sheets("Travel_completed")
q = F8.Cells(65536, 2).End(xlUp).Row
q = 18
With F8
 For q = 18 To .Cells(65536, 29).End(xlUp).Row
  Cells(q, 5).Value = UCase(Cells(q, 5).Value)
 Next q
 End With
End Sub