Microsoft 365 Erreur Automation

Didier03

XLDnaute Junior
Bonjour tout le monde , j'aurai une petite question ,
j'ai une macro qui est assez ancienne , et je pense que depuis que suis passé sous microsoft 365 j'ai une erreur d'exécution'440'.J'ai essayé sur un autre PC même problème

Erreur d'automation et cela me met sur la ligne de Menu.Show

avez vous eu ce genre de problème ?

merci beaucoup d'avance
 

Jacky67

XLDnaute Barbatruc
Bonjour tout le monde , j'aurai une petite question ,
j'ai une macro qui est assez ancienne , et je pense que depuis que suis passé sous microsoft 365 j'ai une erreur d'exécution'440'.J'ai essayé sur un autre PC même problème

Erreur d'automation et cela me met sur la ligne de Menu.Show

avez vous eu ce genre de problème ?

merci beaucoup d'avance

Bonjour,
L'erreur est dans le code de l'userform
Dans l'éditeur vb, se placer sur 'Menu.Show' et appuyer successivement sur F8 pour trouver la ligne d'erreur.
 

Didier03

XLDnaute Junior
je tombe là dessus sur la ligne en orange ...

Private Sub Image2_Click()
creation.Show
End Sub
Private Sub Image3_Click()
raffrai_adresse
adresse.Show
End Sub
Private Sub Image6_Click()
Utilisateurs.Show
End Sub
Private Sub Image7_Click()
If droit_decompte_debit = False Then
MsgBox ("Vous n'avez pas les droits !")
Exit Sub
End If
decompte.Show
End Sub
Private Sub UserForm_Initialize()
On Error GoTo erreur
m_erreur = "M0020"
pass = False
' ouverture de la base
Set db = DAO.Workspaces(0).OpenDatabase("\\mlsind02\base_rapport$\base.mdb", False, False)
' version soft
var_version = "2.10"
Menu.version.Caption = "TEF1 B.J. Ver " & var_version
var_utilisateur = UCase(Environ$("USERNAME"))
If var_utilisateur = "BNN2MLS" Then var_utilisateur = InputBox("var_utilisateur", , var_utilisateur)
' charge les droits de l'utilisateur
var_requete = "select * from utilisateurs where login='" & var_utilisateur & "' ;"
Set rs = db.OpenRecordset(var_requete)
Do While Not rs.EOF
If rs.Fields("droit_lecture") = False Then
rs.Close
MsgBox "Vous n'avez pas de droits de lecture !"
Application.DisplayAlerts = False
Application.Quit
End If
pass = True
adresse.adresse_11.Visible = rs.Fields("droit_administrer")
adresse.Label16.Visible = rs.Fields("droit_administrer")
Menu.Label5.Visible = rs.Fields("droit_administrer")
Menu.Image6.Visible = rs.Fields("droit_administrer")
droits_creation = rs.Fields("droit_creer")
droits_validation = rs.Fields("droit_valider")
droit_decompte_debit = rs.Fields("droit_decompte_debit")
memo_service = rs.Fields("service")
pass = False
Exit Do
Loop
rs.Close
'***** trace
temporaire = "select * from erreurs ;"
Set jo = db.OpenRecordset(temporaire)
jo.AddNew
jo.Fields("champ1") = "ouverture"
jo.Fields("champ2") = var_utilisateur & " Le: " & Now & " " & var_version & " Nom PC:" & Environ$("COMPUTERNAME")
jo.Update
jo.Close
'***** stat
Open "\\mlsind02\stat_macro$\stat_rapport_control.log" For Random As #1
Message = "O" & Date
Get #1, 1, tempo
If tempo = "" Then tempo = 1
tempo = tempo + 1
Put #1, 1, tempo
Put #1, tempo, Message
Close #1
Exit Sub
erreur:
envoi_erreur
End Sub
Private Sub UserForm_Terminate()
On Error GoTo erreur
m_erreur = "M0021"
db.Close
Application.Quit
Exit Sub
erreur:
envoi_erreur
End Sub
 

Jacky67

XLDnaute Barbatruc
je tombe là dessus sur la ligne en orange ...

Private Sub Image2_Click()
creation.Show
End Sub
Private Sub Image3_Click()
raffrai_adresse
adresse.Show
End Sub
Private Sub Image6_Click()
Utilisateurs.Show
End Sub
Private Sub Image7_Click()
If droit_decompte_debit = False Then
MsgBox ("Vous n'avez pas les droits !")
Exit Sub
End If
decompte.Show
End Sub
Private Sub UserForm_Initialize()
On Error GoTo erreur
m_erreur = "M0020"
pass = False
' ouverture de la base
Set db = DAO.Workspaces(0).OpenDatabase("\\mlsind02\base_rapport$\base.mdb", False, False)
' version soft
var_version = "2.10"
Menu.version.Caption = "TEF1 B.J. Ver " & var_version
var_utilisateur = UCase(Environ$("USERNAME"))
If var_utilisateur = "BNN2MLS" Then var_utilisateur = InputBox("var_utilisateur", , var_utilisateur)
' charge les droits de l'utilisateur
var_requete = "select * from utilisateurs where login='" & var_utilisateur & "' ;"
Set rs = db.OpenRecordset(var_requete)
Do While Not rs.EOF
If rs.Fields("droit_lecture") = False Then
rs.Close
MsgBox "Vous n'avez pas de droits de lecture !"
Application.DisplayAlerts = False
Application.Quit
End If
pass = True
adresse.adresse_11.Visible = rs.Fields("droit_administrer")
adresse.Label16.Visible = rs.Fields("droit_administrer")
Menu.Label5.Visible = rs.Fields("droit_administrer")
Menu.Image6.Visible = rs.Fields("droit_administrer")
droits_creation = rs.Fields("droit_creer")
droits_validation = rs.Fields("droit_valider")
droit_decompte_debit = rs.Fields("droit_decompte_debit")
memo_service = rs.Fields("service")
pass = False
Exit Do
Loop
rs.Close
'***** trace
temporaire = "select * from erreurs ;"
Set jo = db.OpenRecordset(temporaire)
jo.AddNew
jo.Fields("champ1") = "ouverture"
jo.Fields("champ2") = var_utilisateur & " Le: " & Now & " " & var_version & " Nom PC:" & Environ$("COMPUTERNAME")
jo.Update
jo.Close
'***** stat
Open "\\mlsind02\stat_macro$\stat_rapport_control.log" For Random As #1
Message = "O" & Date
Get #1, 1, tempo
If tempo = "" Then tempo = 1
tempo = tempo + 1
Put #1, 1, tempo
Put #1, tempo, Message
Close #1
Exit Sub
erreur:
envoi_erreur
End Sub
Private Sub UserForm_Terminate()
On Error GoTo erreur
m_erreur = "M0021"
db.Close
Application.Quit
Exit Sub
erreur:
envoi_erreur
End Sub
Re..
Cette ligne ne provoque pas d'erreur, il faut aller plus loin avec F8
Mais....
Il y a certainement ouverture d'une base de donnée Access avec des codes que je ne connais pas et pour lesquelles je ne serais d'aucun secours.
Désolé.
Repose la question avec un nouveau post et le classeur avec l'userform en PJ.
 

Discussions similaires

Réponses
19
Affichages
599

Statistiques des forums

Discussions
312 329
Messages
2 087 329
Membres
103 517
dernier inscrit
hbenaoun63