Variable objet ou variable de bloc With non définie: Erreur d'éxécution 91

Résolu
Adrien_35 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Adrien_35 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai bien regardé les autres réponses sur ce problème rencontré mais pour ma part je n'ai déclaré aucune variable with. Quand je fais le débogage on me ramène au code du module qui ouvre mon formulaire.

Je ne comprends pas cette erreur.

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Comme l'indique le message... cela peut concerner un bloc WITH ... ou un objet

    Variable objet ou variable de bloc With


    Quoi qu'il en soit.... sans voir ton code.... personne ne pourra t'aider !

    NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage afin d'avoir la coloration syntaxique)
    Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
    .

    NB²: Pense à tester ton code en mode PAS A PAS histoire d'essayer de voir sur quelle ligne de code il génère l'erreur...
    0
    1. Adrien_35 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
       
      Module : (le débogage me fait revenir ici)
      'Procédure permettant l'ouverture d'un formulaire
      Sub openFormentry_new_request()
      
          
          F_Saisie_Request_new_Project.Show
      End Sub


      Form:
      Private Sub btn_cancel_Click()
      Me.cbo_project_name = ""
      Me.cbo_BU = ""
      Me.cbo_Country = ""
      Me.cbo_request = ""
      Me.txt_expctddate = ""
      Me.txt_demand_description = ""
      Me.cbo_contact = ""
      End Sub
      
      Private Sub btn_quit_Click()
      Unload Me
      End Sub
      
      Private Sub btn_Save_Click()
              'On teste que les controles ont bien été saisis
              If Len(Me.txt_demand_description) = 0 Then
                  Me.LabelMSG = "Please describe the need"
                  Me.txt_demand_description.SetFocus
              ElseIf Len(Me.cbo_project_name) = 0 Then
                  Me.LabelMSG = "Please inform a project name"
                  Me.cbo_project_name.SetFocus
              ElseIf Len(Me.cbo_BU) = 0 Then
                  Me.LabelMSG = "Please indicate the BU"
              ElseIf Len(Me.cbo_Country) = 0 Then
                  Me.LabelMSG = "Please Indicate the location"
              ElseIf Len(Me.cbo_request) = 0 Then
                  Me.LabelMSG = "Please inform the type of request"
              ElseIf Len(Me.txt_expctddate) = 0 Then
                  Me.LabelMSG = "Inform an expected date of delivery"
              ElseIf IsDate(txt_expctddate) = False Then
                  Me.LabelMSG = "Inform a valid expected date"
              ElseIf txt_expctddate <> Format(txt_expctddate, "dd/mm/yyyy") Then
                  Me.LabelMSG = "Inform with format dd/mm/yyyy"
              ElseIf CDate(txt_expctddate) < Date Then
                  Me.LabelMSG = "Please inform a date in the future"
              ElseIf Len(Me.cbo_contact) = 0 Then
                  Me.LabelMSG = "Please indicate a contact"
                          
              Else        'Si tous les champs sont complet alors on peut sauvegarder dans la source
                  'On cherche prochaine ligne vide de la source
              Feuil2.Activate
              Feuil2.Range("A1048576").End(xlUp).Offset(1, 0).Select
              'On affecte donnée formulaire dans la source
      
              ActiveCell.Offset(0, 0) = Me.cbo_project_name
              ActiveCell.Offset(0, 1) = Me.cbo_BU
              ActiveCell.Offset(0, 2) = Me.cbo_Country
              ActiveCell.Offset(0, 3) = Me.cbo_request
              ActiveCell.Offset(0, 4) = Me.txt_expctddate
              ActiveCell.Offset(0, 5) = Me.txt_demand_description
              ActiveCell.Offset(0, 6) = Me.cbo_contact
              ActiveCell.Offset(0, 7) = "A traiter"
              ActiveCell.Offset(0, 8) = ActiveCell.Offset(-1, 8).Value + 1
              End If
      End Sub
      
      Private Sub UserForm_Initialize()
      F_Saisie_Request_new_Project.Show
      End Sub
      
      0
    2. Adrien_35 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
       
      Ok il fallait que je supprime la dernière sub : Userform initialize qui faisait écho à mon module.

      A bientôt !
      0