E
effeZERO
Guest
Bonjour le forum,
J'utilise une macro pour me faire une importation de lignes d'un fichier(Source) dans un autre(Interface utilisateur).
Si mon fichier dépasse 101 lignes la macro ne se termine pas correctement et m'affiche Erreur d'éxectution 380, Valeur de propriété non valide.
Le débogueur m'améne sur la ligne .Value = Index
Je ne saisi pas l'erreur, et ne sais comment la corriger.
Ci-dessous le code que j'utilise.
Private Sub CommandButton1_Click()
Dim Plage As Range, Cel As Range
Dim Index As Long, NbVal As Long
Set Plage = Range(ActiveCell, Cells(65536, ActiveCell.Column).End(xlUp))
NbVal = Plage.Cells.Count
Application.ScreenUpdating = False
Workbooks("Interface utilisateur").Activate
Worksheets("Données").Activate
Range("a1").Select
Workbooks.Open Filename:="C:\Source.xls"
Worksheets("Feuil1").Activate
Range("a2:al2").Select
While Not IsEmpty(ActiveCell)
With ProgressBar1
.Min = 0
If NbVal > 1 Then .Max = NbVal
For Each Cel In Plage
Index = Index + 1
.Value = Index
DoEvents
Next Cel
End With
Selection.Copy
Workbooks("Interface utilisateur").Activate
Worksheets("Données").Activate
ActiveCell.Offset(1, 0).Range("a1:al1").Select
ActiveSheet.Paste
Workbooks("Source").Activate
Worksheets("Feuil1").Activate
ActiveCell.Offset(1, 0).Range("a1:al1").Select
Wend
Application.CutCopyMode = False
Workbooks("Source").Close
Worksheets("Interface").Activate
Range("a1").Select
MsgBox ("Importation terminée.")
End Sub
Si quelqu'un à une idée à me soumettre je suis preneur.
Je vous remercie à l'avance et vous souhaite un bon appétit.
@+ Franck
J'utilise une macro pour me faire une importation de lignes d'un fichier(Source) dans un autre(Interface utilisateur).
Si mon fichier dépasse 101 lignes la macro ne se termine pas correctement et m'affiche Erreur d'éxectution 380, Valeur de propriété non valide.
Le débogueur m'améne sur la ligne .Value = Index
Je ne saisi pas l'erreur, et ne sais comment la corriger.
Ci-dessous le code que j'utilise.
Private Sub CommandButton1_Click()
Dim Plage As Range, Cel As Range
Dim Index As Long, NbVal As Long
Set Plage = Range(ActiveCell, Cells(65536, ActiveCell.Column).End(xlUp))
NbVal = Plage.Cells.Count
Application.ScreenUpdating = False
Workbooks("Interface utilisateur").Activate
Worksheets("Données").Activate
Range("a1").Select
Workbooks.Open Filename:="C:\Source.xls"
Worksheets("Feuil1").Activate
Range("a2:al2").Select
While Not IsEmpty(ActiveCell)
With ProgressBar1
.Min = 0
If NbVal > 1 Then .Max = NbVal
For Each Cel In Plage
Index = Index + 1
.Value = Index
DoEvents
Next Cel
End With
Selection.Copy
Workbooks("Interface utilisateur").Activate
Worksheets("Données").Activate
ActiveCell.Offset(1, 0).Range("a1:al1").Select
ActiveSheet.Paste
Workbooks("Source").Activate
Worksheets("Feuil1").Activate
ActiveCell.Offset(1, 0).Range("a1:al1").Select
Wend
Application.CutCopyMode = False
Workbooks("Source").Close
Worksheets("Interface").Activate
Range("a1").Select
MsgBox ("Importation terminée.")
End Sub
Si quelqu'un à une idée à me soumettre je suis preneur.
Je vous remercie à l'avance et vous souhaite un bon appétit.
@+ Franck