Code erreur 13 lancement userform

Bonjour à tous,

j'ai un souci avec le lancement d'une userform

Le .show ne fonctionne plus.

je mis le fichier en pièce jointe ainsi que le code de la partie initialize

Private Sub UserForm_Initialize()

  Application.DisplayAlerts = False
    Fiche.Lblcompteur.Caption = Sheets("BDD").Range("I" & Rows.Count).End(xlUp).Rows

    'Récupération du nom de la personne qui utilise le fichier
    Fiche.LblUserProfil.Caption = Environ("username")
    'Afficher la date du jour
    Fiche.LblDate.Caption = Format(Now, "dd/mm/yyyy hh:mm")
    With Sheets("Liste")
        For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row  'Liste des bancs de la feuille "Liste"
            Systeme.AddItem .Cells(i, 1)
        Next
    End With
    If Val(Lblcompteur.Caption) <= 2000 Then
            Fiche.Lblcompteur.BackColor = RGB(225, 7, 7)
            Set MonOutlook = CreateObject("Outlook.Application")
            Set MonMessage = MonOutlook.CreateItem(0)
            MonMessage.BodyFormat = 2
            Corps = "<HTML><BODY>"
            MonMessage.To = ""
            MonMessage.CC = ""
            MonMessage.Subject = " Commander de l'huile cuve en niveau bas"
            ' Le corps du message est divisé en 2 lignes :
            Corps = Corps & "Bonjour Benjamin,"
            ' <p> = Touche ENTER
            Corps = Corps & "<p>"
            Corps = Corps & "<p> Il faut commander de l'huile car nous arrivons au niveau minimum de la cuve.</p>"
            Corps = Corps & "</BODY></HTML>"
            MonMessage.HTMLBody = Corps
            MonMessage.Display

        Set MonOutlook = Nothing
    Else
    Fiche.Lblcompteur.BackColor = &H80000003
     End If
    'Liste des noms pour entrer dans la maintenance
    ComboBox1.RowSource = ("Liste!C2:C10")
End Sub

Cordialement

Romain

bonjour,

Que Application.DisplayAlerts = soit True ou False n'y change rien : Cette expression (ligne 4) DOIT renvoyer un N° de ligne

Sheets("BDD").Range("I" & Rows.Count).End(xlUp).Rows

or elle renvoie une valeur d'erreur (#ERREUR]

C'est l'inconvénient de supprimer les variables et leur déclaration... Tu ne peux rien déboguer et VBA se croise les bras !

Conseils :

Utiliser Option Explicit en tête de module.

Dans la BDD supprimer toutes les lignes au delà de la ligne 72. (y compris la ligne 73...) et ça fonctionnera normalement.

Supprimer le quadrillage intégral qui ne sert à rien...

Supprimer également les formules qui ne servent à rien dans cette base de donnée : Une fois calculées les valeurs ne changeront pas...

Le fait de bricoler un changement de formule fumeux colonne I avec la jauge manuelle n'y change rien :

Tu peux très bien avoir une quantité zéro en colonne I et une jauge manuelle de 300 ça reste compréhensible...

VBA se chargera très bien de ces malheureux calculs.

A+

Bonjour,

Ce n'est pas une bonne pratique de fermer un sujet pour le réintroduire immédiatement en nouveau sujet, sans changement !

Il fallait continuer sur ton sujet...

Je t'avais déjà signalé l'erreur sur Rows... que tu n'as même pas été foutu de rectifier !

L'erreur suivante est une erreur 438 qui apparaît sur : MonMessage.BodyFormat

Bonjour,

Merci de ta réponse j'ai modifier un peut le programme et c'est du à compteur non renseigner que sa a planter.

Mais j'ai constater aussi que la partie Liste faisait planté la macro.

Private Sub UserForm_Initialize()

  Application.DisplayAlerts = False
    Fiche.Lblcompteur.Caption = Sheets("BDD").Range("I" & Rows.Count).End(xlUp).Rows

    'Récupération du nom de la personne qui utilise le fichier
    Fiche.LblUserProfil.Caption = Environ("username")
    'Afficher la date du jour
    Fiche.LblDate.Caption = Format(Now, "dd/mm/yyyy hh:mm")
       Systeme.RowSource = ("Liste!A2:A58")
    If Val(Lblcompteur.Caption) <= 2000 Then
            Fiche.Lblcompteur.BackColor = RGB(225, 7, 7)
            Set MonOutlook = CreateObject("Outlook.Application")
            Set MonMessage = MonOutlook.CreateItem(0)
            MonMessage.BodyFormat = 2
            Corps = "<HTML><BODY>"
            MonMessage.To = "<romain.dehan@poclain.com>; <benjamin.eyraud@poclain.com>"
            MonMessage.CC = "<hubert.potier@poclain.com>;<alexandre.delaunay@poclain.com> ; <christophe.gauvin@poclain.com> ; <david.garcia@poclain.com> ; <thibault.hemart@poclain.com> ; <jonathan.boucher@poclain.com>"
            MonMessage.Subject = " Commander de l'huile cuve en niveau bas"
            ' Le corps du message est divisé en 2 lignes :
            Corps = Corps & "Bonjour Benjamin,"
            ' <p> = Touche ENTER
            Corps = Corps & "<p>"
            Corps = Corps & "<p> Il faut commander de l'huile car nous arrivons au niveau minimum de la cuve.</p>"
            Corps = Corps & "</BODY></HTML>"
            MonMessage.HTMLBody = Corps
            MonMessage.Display

        Set MonOutlook = Nothing
    Else
    Fiche.Lblcompteur.BackColor = &H80000003
     End If
    'Liste des noms pour entrer dans la maintenance
    ComboBox1.RowSource = ("Liste!C2:C10")
End Sub

j'ai pas très bien capté la partie que tu me disais pour VBA se débrouille très bien tout seul.

Je pense que tu parles de la partie formule ?


Mr Ferrand,

J'ai recrée le sujet car je pensais que mon poste d'hier n'avait pas fonctionner.

Car j'ai retrouver le sujet une fois le nouveau crée.

je m'en excuse.

Cordialement

Romain

Je ne veux pas m'insérer dans une conversation avec Ferrand

simplement pour signaler que de mon coté avec CE fichier joint je n'ai pas d'autres problèmes que celui des lignes 73 et suivantes...

Une fois supprimé ces lignes la macro se déroule normalement...

Après je n'ai pas été plus loin ce n'était pas l'objet du message.

Fin de la discussion pour moi.

A+

Salut Galopin,

Pas de discussion de mon côté, j'avais répondu sur le sujet précédent, réponse que tu as redonné et élargie... Et s'agissant d'Outlook, je me suis abstenu.

je comprend plus rien a ce que vous raconter.

Quand je faisais le mode pas a pas c'est le label qui me fournit une chiffre qui planter la macro.

Car sur le fichier excel javais #valeur dans la cellule qui me rempli mon label.

Après j'avais une erreur sur ma plage de sélection qui me fournissais ma liste.

En simplifiant le code et supprimant le #valeur de la cellule plus aucun soucis.

Pour cela que je comprend pas avec le outlook.

je demande des explications.

Mais merci car vos réponse mon aiguillé, mais je comprend toujours pas avec outlook.

Cordialement

Romain

Tant mieux si tu n'as pas d'erreur !

Je te signalais seulement qu'après avoir résolue l'erreur 13, j'avais une erreur 438 (Propriété ou méthode non gérée par l'objet) qui survenait sur la ligne que j'ai indiquée. S'agissant d'Outlook, je n'ai pas cherché plus loin et me suis contenté de te le signaler.

Si tu ne l'as pas, tu ignores, cela tient sans doute aux particularités locales... (je n'utilise pas Outlook, bien que que j'en ai toujours une version que je n'ai pas encore désisntallée...)?

Cordialement.

Rechercher des sujets similaires à "code erreur lancement userform"