Marwa Chefii
XLDnaute Nouveau
Bonjour à tous,
Je suis débutante en VBA et je rencontre un problème très gênant.
J'ai créé un bouton dans mon fichier EXCEL qui permet d'actualiser les données d'un onglet "SOURCE" à partir d'un autre fichier (voir code ci dessous).
Le code fonctionne parfaitement, sauf qu'une erreur aléatoire se produit [50290 erreur définie par l'application ou par l'objet] , et pointe sur la ligne en jaune dans la capture ci dessous.
Lors du débogage, je clique sur continuer et l'exécution du code reprenne normalement.
Any help please ! c'est un peut urgent
Je suis débutante en VBA et je rencontre un problème très gênant.
J'ai créé un bouton dans mon fichier EXCEL qui permet d'actualiser les données d'un onglet "SOURCE" à partir d'un autre fichier (voir code ci dessous).
Le code fonctionne parfaitement, sauf qu'une erreur aléatoire se produit [50290 erreur définie par l'application ou par l'objet] , et pointe sur la ligne en jaune dans la capture ci dessous.
Lors du débogage, je clique sur continuer et l'exécution du code reprenne normalement.
Any help please ! c'est un peut urgent
VB:
Sub Bouton_Actualiser()
Application.ScreenUpdating = False
Dim Var As String
Sheets("PERSONNES PHYSIQUES").Select
Var = Range("C7").Value
Set XL = CreateObject("Excel.Application")
XL.Visible = False
XL.Application.DisplayAlerts = False
XL.Application.AlertBeforeOverwriting = False
XL.Workbooks.Open ("C:\tmp\SOURCE PPH.xls")
XL.Sheets("SOURCE PPH").Activate
XL.ActiveSheet.Range("A2").Copy
Sheets("PERSONNES PHYSIQUES").Activate
Déprotéger
ActiveSheet.Range("C5").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Range("C7").Select
Selection.Copy
ActiveSheet.Range("C5").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Selection.NumberFormat = "[$-fr-FR]mmm-yy;@"
If ActiveSheet.Range("D5").Value = "NON" Then
XL.Range("B1").Select
XL.Selection.AutoFilter
XL.ActiveSheet.Range("$A$1:$U" & XL.ActiveSheet.UsedRange.Rows.Count).AutoFilter Field:=2, Criteria1:=Var
XL.ActiveSheet.Range("A2:U" & XL.ActiveSheet.UsedRange.Rows.Count).Copy
Sheets("AGT85 SOURCE PPH").Select
ActiveSheet.Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
ActiveSheet.Paste
ActiveSheet.Range("V2").Select
Selection.AutoFill Destination:=Range("V2:V" & ActiveSheet.UsedRange.Rows.Count)
Sheets("PERSONNES PHYSIQUES").Select
ActiveSheet.AutoFilterMode = False
Dim PL1 As Range
Set PL1 = Application.Union(Range("E12:M" & ActiveSheet.UsedRange.Rows.Count), Range("T12:U" & ActiveSheet.UsedRange.Rows.Count), Range("W12:W" & ActiveSheet.UsedRange.Rows.Count))
PL1.Locked = True
Range("B11").Select
Selection.AutoFilter
ActiveSheet.Range("$B$11:$AD" & ActiveSheet.UsedRange.Rows.Count).AutoFilter Field:=1, Criteria1:="Actuelle"
Dim PL As Range
Set PL = Application.Union(Range("E12:M" & ActiveSheet.UsedRange.Rows.Count), Range("T12:U" & ActiveSheet.UsedRange.Rows.Count), Range("W12:W" & ActiveSheet.UsedRange.Rows.Count))
PL.Locked = False
ActiveSheet.Range("C5").Select
Protéger
MsgBox "FICHIER ACTUALISE AVEC SUCCES!"
CutCopyMode = False
XL.CutCopyMode = False
XL.ActiveWorkbook.Close
XL.Quit
Set XL = Nothing
Exit Sub
Else:
Protéger
MsgBox "ATTENTION ... FICHIER DEJA ACTUALISE!"
CutCopyMode = False
XL.CutCopyMode = False
XL.ActiveWorkbook.Close
XL.Quit
Set XL = Nothing
Exit Sub
End If
Application.ScreenUpdating = True
End Sub