Bonjour à tous,
Je bloque sur une partie de mon code.
J'ai réussi à faire un code pour récupérer un fichier Excel et copier /coller les colonnes C, D et M, et E, F et N à la suite à partir de la ligne 15.
Mais si ma ligne ne commence pas à la 15, comment pourrais-je faire ?
Par exemple les lignes que je veut copier commence à la 12 ou à la 19, cela dépend du fichier.
il y a d'autre ligne "non concerné au dessus" et je veut commencer à copier mes lignes dès que la valeur de la case est "C" comment pourrais-je faire ?
on ma proposer d'utiliser :
For RowSyn = 1 To 800
If Sheets(1).Cells(RowSyn, C).Value Like "C" Then</pre></td></tr></tbody></table>
Mais je ne sais pas trop comment faire pour l'adapter à mon code.
je vous met mon code ci-dessous.
Sub Choix_du_Fichier()
Dim FichierSource As Variant
Dim Source As Workbook
Dim Cible As Worksheet
Set Cible = Sheets("Fin de Travaux réalisés")
FichierSource = Application.GetOpenFilename("Fichiers (*.xlsx),*.xlsx")
Application.ScreenUpdating = False
Set Source = Workbooks.Open(FichierSource)
With Source
.Sheets("Fin de Travaux réalisés").Range("C12:D800,M12:M800").Copy Destination:=Cible.Range("A1")
End With
Dim Ligne_A As Integer
Ligne_A = Range("A" & Rows.Count).End(xlUp).Row + 1
With Source
.Sheets("Fin de Travaux réalisés").Range("E12:E800").Copy Destination:=Cible.Range("A" & Ligne_A)
End With
Dim Ligne_B As Integer
Ligne_B = Range("B" & Rows.Count).End(xlUp).Row + 1
With Source
.Sheets("Fin de Travaux réalisés").Range("F12:F800").Copy Destination:=Cible.Range("B" & Ligne_B)
End With
Dim Ligne_C As Integer
Ligne_C = Range("C" & Rows.Count).End(xlUp).Row + 1
With Source
.Sheets("Fin de Travaux réalisés").Range("n12:n800").Copy Destination:=Cible.Range("C" & Ligne_C)
.Close False
End With
'Supprime les doublons
'Prend en compte les 3 colonnes
Range("A1:C800").RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlNo
Application.ScreenUpdating = True
MsgBox "Fin de l'import !"
End Sub
Merci à vous