Erreur surprenante

Bonjour à tous,

C'est un format de code que j'ai déjà utilisé mais là il met surligne en jaune la ligne : VBAProject.FrmE.Show

C'est bizarre car j'ai déjà utilisé ce code ailleurs et ça fonctionne correctement.

Si vous avez une idée du pourquoi du comment , ça serait cool de votre part ! =)

Merci

Private Sub CommandButton1_Click()
    Unload Me
    VBAProject.FrmE.Show
End Sub

Salut,

Tu as bien un Userform dans ton fichier qui s'appelle : "FrmE" ? (Au niveau de la zone Name et non pas Caption, car la confusion est souvent faite)

Girodo,

Bonjour

Apparemment, il s'agit là du code d'un bouton d'UserForm. Et sans le fichier auquel cet UserForm appartient, il sera difficile de t'en dire plus.

Bye !

Salut =)

Et avec le code en entier, c'est suffisant ou il faut le fichier ?

Option Compare Text
Dim f, nomtableau, TBlBD()

Private Sub CommandButton1_Click()
    Unload Me
    VBAProject.FrmE.Show
End Sub

Private Sub UserForm_Initialize()
    'AFFICHE LES QUESTION DANS L'ORDRE
    TxbQ01 = Sheets("Compétences").Range("B2")
    TxbQ02 = Sheets("Compétences").Range("B3")
    TxbQ03 = Sheets("Compétences").Range("B4")

  nomtableau = "TABL"
  TBlBD = Range(nomtableau).Value
  Me.ListBox1.List = TBlBD
  Me.ListBox1.ColumnCount = 7
  '--- ComboBox
  Set d = CreateObject("scripting.dictionary")
  d("*") = ""
  For i = 1 To UBound(TBlBD): d(TBlBD(i, 7)) = "": Next i
  Me.ComboBox1.List = d.keys
  EnteteListBox
End Sub

Private Sub ComboBox1_Click()
  ColRecherche = 7
  clé = Me.ComboBox1: n = 0
  Dim Tbl()
  For i = 1 To UBound(TBlBD)
    If TBlBD(i, ColRecherche) Like clé Then
        n = n + 1: ReDim Preserve Tbl(1 To UBound(TBlBD, 2), 1 To n)
        For k = 1 To UBound(TBlBD, 2): Tbl(k, n) = TBlBD(i, k): Next k
     End If
  Next i
  If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub

Sub EnteteListBox()
    x = Me.ListBox1.Left + 8
    Y = Me.ListBox1.Top - 12
    For i = 1 To 7
      Set Lab = Me.Controls.Add("Forms.Label.1")
      Lab.Caption = Range(nomtableau).Offset(-1).Item(1, i)
      Lab.Top = Y
      Lab.Left = x
      Lab.Height = 24
      Lab.Width = Range(nomtableau).Columns(i).Width * 1#
      x = x + Range("TABL").Columns(i).Width * 1
      tempCol = tempCol & Range(nomtableau).Columns(i).Width * 1# & ";"
    Next
    tempCol = Left(tempCol, Len(tempCol) - 1)
    Me.ListBox1.ColumnWidths = tempCol
End Sub

Private Sub BtnRet_Click()
    'BOUTON RETOUR PRE ACCUEIL
    Unload Me
    VBAProject.FrmBac.Show
End Sub

Private Sub BtnLis_Click()
    'BOUTON LISTE DES SALARIÉS
    Unload Me
    VBAProject.FrmD2L.Show
End Sub

Private Sub BtnQui_Click()
    'BOUTON QUITTER
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    Application.Quit
End Sub

Private Sub ComboBox1_Change()
    'RENVOI LA VALEUR DE LA TXTBOX EN A2 DE LA SHEET SELECTION
    Sheets("Selection").[D5].Value = ComboBox1.Text
    TxbNb = Sheets("Selection").Range("E5")
End Sub

Private Sub ListBox1_Click()
   Me.TextBox1 = Me.ListBox1.Column(1) ' 2e colonne
   Me.TextBox1 = Me.ListBox1.List(, 1)   ' 2e colonne
   Me.TextBox2 = Me.ListBox1.Column(2) ' 3 colonne
   Me.TextBox2 = Me.ListBox1.List(, 2)   ' 3e colonne
End Sub

Salut,

Tu as bien un Userform dans ton fichier qui s'appelle : "FrmE" ? (Au niveau de la zone Name et non pas Caption, car la confusion est souvent faite)

Girodo,

Salut Girodo,

L'erreur ne vient pas de là, j'ai vérifié. =) Merci quand même

Micka

Bonjour,

Le "VBAProject" était pas indispensable mais l'erreur ne vient pas de là...

Tu es bon pour nous mettre le fichier (avec juste une ligne de données pour que le usf se lance...)

A+

Salut

Voici mon fichier en PJ ! =)

Pour observer l'erreur, ouvrez l'application > ENTRER > utilisateur : 1 et mdp : 123 > cliquer sur le commandbutton1 en haut

17list.xlsm (148.78 Ko)

Si quelqu'un sait d'ou vient l'erreur, ça me serait bien utile

Dans le Initialize de ton UserForm, tu as un ActiveSheet qui se réfère à un DataBody qui correspond à la base. Or ActiveSheet est la feuille d'accueil...

C'est plus clair ?

Salut Galopin01,

Pour voir que tout fonctionne, je ferme l'application et je lance via vba, de cette manière je constate que ça fonctionne ou non =)

Pour ce qui est de l'ActiveSheet, je ne vois pas ou c'est dans mon code et dans le pire des cas, c'est bien sur la page d'accueil que j'ai mis mon tableau ou se trouve toutes les données que je souhaites modifier sur le formulaire en question.

Après je ne suis pas un grand pro =) (j'ai peut-être rien compris)

Micka =)

Quand tu as fais 1 puis 123... puis appuyé sur le bouton : Le débogueur indique que tu souhaites lancer un UserForm.

step1

Si tu appuies 2 ou 3 fois sur [F8], tu rentres dans le débogage ligne par ligne et en particulier dans le Initialize du UserForm

Tu arrives rapidement sur cette ligne qui va provoquer une erreur :

step2

... En effet on voit dans la fenêtre d'exécution (en bas dans la dernière image) que ActiveSheet c'est Liste or dans "Liste" il n'y a pas de ListObjects("TABL") car [TABL] fait référence à la feuille Base et pas à ActiveSheet.

Il faut bannir les ActiveKELKEchose et autres Select et réserver le Application Invisible aux prog certifiés sans failles.

Ok ?

Ok. D'accord, merci.

Rechercher des sujets similaires à "erreur surprenante"