Erreur de compilation sub ou function non definie

Dremzer66 -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

j'ai crée une macro, de part magie elle ne marche plus, lorsque je veux enregister des données.
La page du language VBA s'ouvre et m'affiche, le message suivant:

Erreur de compilation
Sub ou Function non définie

Mais le plus etrange c'est que Excel me surligne en bleu ESTOUVERT


Si oui, enregistrement de la demande dans la BDD
If Corr = vbYes Then
ThisWorkbook.Worksheets("Création de la demande").Range("B22:G22").Select
Selection.Cut
If Not EstOuvert("V:\Condition_Stand\Fiche_conditionnement\Ficher Matrice.xlsx") Then
Workbooks.Open Filename:= _
"V:\Condition_Stand\Fiche_conditionnement\Fichier Matrice.xlsx"
Else: Application.Wait Now + TimeValue("0:00:10")
ActiveWorkbook.Worksheets("BDD Demandes").Range("A1").Select
k = Selection.End(xlDown).Row
ActiveSheet.Cells(k + 1, 1).Select
ActiveSheet.Paste
ActiveSheet.Cells(k + 1, 9).Select
ActiveCell.FormulaR1C1 = "=R[-1]C+1"
ActiveWorkbook.Save
ActiveWindow.Close

1 réponse

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Ta macro ne devait pas être seule dans son module...
Il devait y avoir une fonction EstOuvert...
Un peu comme ceci :

Sub TaProcedure()

'Si oui, enregistrement de la demande dans la BDD
If Corr = vbYes Then
ThisWorkbook.Worksheets("Création de la demande").Range("B22:G22").Select
Selection.Cut
If Not EstOuvert("V:\Condition_Stand\Fiche_conditionnement\Ficher Matrice.xlsx") Then
Workbooks.Open Filename:= _
"V:\Condition_Stand\Fiche_conditionnement\Fichier Matrice.xlsx"
Else: Application.Wait Now + TimeValue("0:00:10")
ActiveWorkbook.Worksheets("BDD Demandes").Range("A1").Select
k = Selection.End(xlDown).Row
ActiveSheet.Cells(k + 1, 1).Select
ActiveSheet.Paste
ActiveSheet.Cells(k + 1, 9).Select
ActiveCell.FormulaR1C1 = "=R[-1]C+1"
ActiveWorkbook.Save
ActiveWindow.Close
End Sub


Function EstOuvert(Fichier As String) As Boolean
On Error Resume Next
Workbooks(Fichier).Activate
If Err <> 0 Then EstOuvert = False Else EstOuvert = True
On Error GoTo 0
End Function
0