bonjour à tous,
voici un code vba qui sert à importer des colonnes pour l'amélioration duquel j'ai besoin de votre aide.
le code importe données et mise en forme ce qui est parfait mais une fois le lien modifié par exemple la mise en forme reste : première amélioration à apporter = supprimer la mise en forme qui n'a pas de donnée.
deuxième amélioration = faire en sorte que le fichier source puisse se trouver n'importe ou sur le disque dur de l'ordinateur et non uniquement dans le même dossier que le fichier cible.
troisième amélioration = supprimer les lignes dont la cellule en colonne C est vide.
merci d'avance pour votre aide
Moutchec
Private Sub CommandButton1_Click()
Dim CheminSource As String
Dim Ligne As Long, J As Long
Dim Ws As Worksheet
Application.ScreenUpdating = False
Set Ws = ThisWorkbook.Sheets(1)
Ws.Columns("A:M").ClearContents
CheminSource = ThisWorkbook.Path & "\"
Ligne = 1
For J = 2 To Range("N" & Rows.Count).End(xlUp).Row
On Error Resume Next
With Workbooks.Open(CheminSource & Range("N" & J) & ".xlsm")
With .Sheets(1)
.Range("A1:M" & .Range("A" & Rows.Count).End(xlUp).Row).Copy Ws.Range("A" & Ligne)
End With
.Close savechanges:=False
End With
Ligne = Ws.Range("A" & Rows.Count).End(xlUp).Row + 1
Next J
End Sub
voici un code vba qui sert à importer des colonnes pour l'amélioration duquel j'ai besoin de votre aide.
le code importe données et mise en forme ce qui est parfait mais une fois le lien modifié par exemple la mise en forme reste : première amélioration à apporter = supprimer la mise en forme qui n'a pas de donnée.
deuxième amélioration = faire en sorte que le fichier source puisse se trouver n'importe ou sur le disque dur de l'ordinateur et non uniquement dans le même dossier que le fichier cible.
troisième amélioration = supprimer les lignes dont la cellule en colonne C est vide.
merci d'avance pour votre aide
Moutchec
Private Sub CommandButton1_Click()
Dim CheminSource As String
Dim Ligne As Long, J As Long
Dim Ws As Worksheet
Application.ScreenUpdating = False
Set Ws = ThisWorkbook.Sheets(1)
Ws.Columns("A:M").ClearContents
CheminSource = ThisWorkbook.Path & "\"
Ligne = 1
For J = 2 To Range("N" & Rows.Count).End(xlUp).Row
On Error Resume Next
With Workbooks.Open(CheminSource & Range("N" & J) & ".xlsm")
With .Sheets(1)
.Range("A1:M" & .Range("A" & Rows.Count).End(xlUp).Row).Copy Ws.Range("A" & Ligne)
End With
.Close savechanges:=False
End With
Ligne = Ws.Range("A" & Rows.Count).End(xlUp).Row + 1
Next J
End Sub