Fichier partagé sur réseau - Invalid forward reference

Bonjour à tous,

Je suis amateur VBA, et j’ai créé un fichier Excel qui sert à enregistrer un niveau de satisfaction.

Petit à petit, de plus en plus d’utilisateurs obtiennent le message d’erreur suivant :

« Run- time error ‘-2147319767 (80028029)’ :

Automation error

Invalid forward reference, or reference to uncompiled type.”

J’ai parcouru le web en cherchant des éléments sur cette erreur sans trouver de réponse (à noter que je ne comprenais pas toujours ce qui se disait, notamment en anglais).

Ci-dessous les détails sur le fichier.

1) Premier point important, le fichier est sur un share point son adresse est de type https.//adresseadresse/adresse/monfichier.xlsm

2) Le fichier est accessible à plusieurs utilisateurs.

3) Un clic sur le lien du fichier ouvre le fichier dans internet explorer, un message comme quoi des « features » ne peuvent pas apparaître dans le navigateur apparaît, un clic sur « edit workbook » in Excel ouvre le fichier dans excel. Le message en haut de fenêtre incite à cliquer sur « Edit Workbook » car le fichier est ouvert en lecture seule.

Fonctionnement :

L’utilisateur a le choix entre 6 émoticônes différentes.

Cliquer sur un émoticône entraine l’ouverture d’un userform.

Le userform comprend une zone de texte qui permet à l’utilisateur de commenter son choix.

Le clic sur le bouton « OK » de l’userform entraine l’enregistrement des données dans une des feuilles du classeur, la sauvegarde et la fermeture du fichier.

Le code est dans un module (module1)

6 emoticones = 6 subs et 6 userforms, tous quasiment identiques, et ce que je trouve surprenant est que le plantage ne survient :

  • que sur un ou plusieurs des emoticones choisis, mais pas tous
  • pas pour le même émoticone selon l’utilisateur
  • pas pour tous les utilisateurs
  • et il survient soudainement pour un utilisateur à la fois alors que tout fonctionnait bien à l’origine.

Détail d’une des 6 procédures sub :

Sub VOTE3()

Call UnloadAll

Sheets("Values").Visible = True

Sheets("Values").Select

Range("A1").Select

Range(Selection, Selection.End(xlDown)).Select

Dim a As Variant

a = Selection.Count

a = Int(a)

Cells(a + 1, 1).Value = Format(Now, "dd-mmm-yyyy - hh:mm")

Cells(a + 1, 2).Value = 3

Cells(a + 1, 3).Value = DatePart("ww", Now() - 1, 2)

Sheets("Values").Visible = False

UserForm1.Show

ActiveWorkbook.Close True

End Sub

Détail d’un des userforms :

Private Sub CommandButton1_Click()

Dim LASTLINE As Long

Sheets("Values").Visible = True

Sheets("Values").Select

Range("A1").Select

Range(Selection, Selection.End(xlDown)).Select

LASTLINE = Selection.Count

Dim COMMENT As String

If TextBox1.Value = "" Then

Sheets("Values").Cells(LASTLINE, 4).Value = "No comment left"

Else

Sheets("Values").Cells(LASTLINE, 4).Value = TextBox1.Value

End If

Sheets("Values").Visible = False

UserForm1.Hide

End Sub

Private Sub Label1_Click()

End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub UserForm_Click()

End Sub

Quelqu’un saurait-il me dire quel est le souci et comment le régler ?

Merci d’avance pour votre aide !

Père Seval.

Bonjour,

Pour commencer, regarde du côté de :

UserForm1.Show
ActiveWorkbook.Close True

Si Userform1 que tu affiches est dans le classeur actif que tu enregistres et fermes, il y a peut-être un souci majeur.

Cdlt.

Bonjour,

Pour commencer, regarde du côté de :

UserForm1.Show
ActiveWorkbook.Close True

Si Userform1 que tu affiches est dans le classeur actif que tu enregistres et fermes, il y a peut-être un souci majeur.

Cdlt.

Hello Jean-Eric,

En fait, c'est justement sur la ligne de l'userform.show que s'arrête la macro.

Et je ne vois pas pourquoi elle refuse d'afficher l'userform...

Par contre, pour les deux lignes de code dont tu parles, je me demande si devrais bouger la fermeture du fichier dans le code de l'userform.

Grosso modo, la procédure et la même pour les 6 choix proposés à l'utilisateur.

Clic sur une icone --> lance sub(module) --> montre l'userform --> clic sur OK de l'Userform --> fin de procédure --> unload et hide userform.

Aujourd'hui la fermeture du fichier est dans le module qi appelle l'userform, alors que je devrais peut âtre demander la fermeture du fichier au moment de la fermeture de l'userform.

Voilà le fichier en question si ça peut aider.

23mood-voting-file.xlsm (403.82 Ko)

Merci encore !

Pére Seval

Hello !

Quelqu'un sait-il si la modification que j'ai proposée est efficace ?

Merci d'avance

Père Seval

Rechercher des sujets similaires à "fichier partage reseau invalid forward reference"