shmider
XLDnaute Occasionnel
Bonsoir tout le monde,
Sachant qu'il ne s'agit pas du classeur actif, je voudrais pouvoir fermer un fichier excel à la fin de ma macro.
j'utilise ce code, sauf qu'à la fin j'ai un message d'erreur comme quoi "l indice n'apartien pas à la selection" et il me selectionne "chercher" !!
je ne voit pas la raison de cette erreur en fait !! 😱
le code:
Sub Calculer()
Dim Lig_FinExtraction As Integer
Dim F As Workbook
Dim chercher As String
Application.ScreenUpdating = 0
Set F = ThisWorkbook
chercher = Application.GetOpenFilename()
Workbooks.Open chercher
On Error GoTo erreur
'On detecte la dernière ligne vide et on arrete de tirer sur les formules juste avant
F.Activate
Sheets("forme").Activate
Sheets("forme").Range("B10:B210").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
Lig_FinExtraction = ActiveCell.Row - 1
Sheets("2calculs").Activate
Sheets("2calculs").Range("A10:Z10").Select
Selection.Copy
Range("A11:Z" & Lig_FinExtraction).Select
ActiveSheet.Paste
Application.ScreenUpdating = 1
erreur:
MsgBox "traitement annulé !!", vbCritical
End Sub
Sachant qu'il ne s'agit pas du classeur actif, je voudrais pouvoir fermer un fichier excel à la fin de ma macro.
j'utilise ce code, sauf qu'à la fin j'ai un message d'erreur comme quoi "l indice n'apartien pas à la selection" et il me selectionne "chercher" !!
je ne voit pas la raison de cette erreur en fait !! 😱
le code:
Sub Calculer()
Dim Lig_FinExtraction As Integer
Dim F As Workbook
Dim chercher As String
Application.ScreenUpdating = 0
Set F = ThisWorkbook
chercher = Application.GetOpenFilename()
Workbooks.Open chercher
On Error GoTo erreur
'On detecte la dernière ligne vide et on arrete de tirer sur les formules juste avant
F.Activate
Sheets("forme").Activate
Sheets("forme").Range("B10:B210").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
Lig_FinExtraction = ActiveCell.Row - 1
Sheets("2calculs").Activate
Sheets("2calculs").Range("A10:Z10").Select
Selection.Copy
Range("A11:Z" & Lig_FinExtraction).Select
ActiveSheet.Paste
Application.ScreenUpdating = 1
erreur:
MsgBox "traitement annulé !!", vbCritical
End Sub
Dernière édition: