IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur objet requis [XL-2002]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 487
    Points : 163
    Points
    163
    Par défaut Erreur objet requis
    Bonjour a tous,

    j'ai une erreur objet requis sur le code suivant:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Option Explicit
      Public Code As Variant
    ...
    Sub Principale
     
    ...
    If Ordre_AV = Visible Or Ordre_AR = Visible Or Ordre_G = Visible Or Ordre_D = Visible Then
     
            ActiveCell.Offset(0, 9).Value = Code_chant_AV.Text
            ActiveCell.Offset(0, 10).Value = Code_chant_AR.Text
            ActiveCell.Offset(0, 11).Value = Code_chant_G.Text
            ActiveCell.Offset(0, 12).Value = Code_chant_D.Text
     
     
     
            Call essai
     
            ActiveCell.Offset(0, 13).Text = Code
     
            Stop
     
            End If
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Sub essai()
    Dim Var_AV As Integer, Var_AR As Integer, Var_G As Integer, Var_D As Integer
    Dim Var_AV1 As Integer, Var_AR1 As Integer, Var_G1 As Integer, Var_D1 As Integer
    Dim av As String, ar As String, d As String, g As String
     
    Var_AV = Left(Right(zone1.Code_chant_AV.Text, 2), 1)
    If Var_AV = 2 Then
    Stop
    Var_AV1 = zone1.Ordre_AV.Text * 10
    Else
    Var_AV1 = zone1.Ordre_AV.Text
    End If
    Var_AR = Left(Right(zone1.Code_chant_AR.Text, 2), 1)
    If Var_AR = 2 Then
    Var_AR1 = zone1.Ordre_AR.Text * 10
    Else
    Var_AR1 = zone1.Ordre_AR.Text
    End If
    Var_G = Left(Right(zone1.Code_chant_G.Text, 2), 1)
    If Var_G = 2 Then
    Var_G1 = zone1.Ordre_G.Text * 10
    Else
    Var_G1 = zone1.Ordre_G.Text
    End If
    Var_D = Left(Right(zone1.Code_chant_D.Text, 2), 1)
    If Var_D = "2" Then
    Var_D1 = zone1.Ordre_D.Text * 10
    Else
    Var_D1 = zone1.Ordre_D.Text
    End If
    Stop
    av = Var_AV1: ar = Var_AR1: g = Var_G1: d = Var_D1
    Dim Chant_Mixte(1 To 45, 1 To 45, 1 To 45, 1 To 45)
    Chant_Mixte(1, 2, 30, 40) = "033;033;044;044"
    Chant_Mixte(30, 40, 1, 2) = "044;044;033;033"
    Code = Chant_Mixte(av, ar, g, d)
    Stop
    End Sub

    J'ai bien ma variable "Code" dans la procedure essai qui stock la valeur que j'ai besoin, mais dans la procedure Principale la variable Code me met un erreur Objet requis et je ne trouve pas pourquoi, j'ai bien regardé je n'ai pas vu de faute de frappe ce coup ci, mais sait on jamais!

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour,

    rien que la ligne de code déclenchant l'erreur devrait te mettre sur la voie !

    _________________________________________________________________________________________________________
    Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 487
    Points : 163
    Points
    163
    Par défaut
    Ok pour l'erreur j'ai modifier avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Offset(0, 13).value = Code
    Et ça fonctionne, plus d'erreur Objet Requis.
    par contre ma variable Code qui est dans la procedure essai contient bien une valeur alors que la variable code qui est dans la procedure Principale est vide, je ne comprend pas pourquoi.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut


    Tout dépend déjà de la chronologie et où sont localisées les procédures …

    J'aurais transformé la procédure Essai en fonction renvoyant le Code

  5. #5
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 487
    Points : 163
    Points
    163
    Par défaut
    La procedure Principale fait partie d'un Userform et la procedure essai est dans un module

    Pourquoi utiliser une Fonction et qu'est ce que ça change?

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Tu peux expliquer ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Ordre_AV = Visible...

  7. #7
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 487
    Points : 163
    Points
    163
    Par défaut
    Si Ordre_AV est visible cela veux dire que dans la combobox Code_chant_AV il y a une valeur, sinon je masque Ordre_AV et du coup je m'en sert comme test indirect pour savoir si mes combobox Code_chant_AV, Code_chant_AR, Code_chant_G, Code_chant_D contiennent des valeurs


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Code_chant_AV_Change()
        If Code_chant_AV = "" Then
            Ordre_AV.Visible = False
        Else
            With Ordre_AV
                .Visible = True
                .List = Array("1", "2", "3", "4")
                .ListIndex = 0
            End With
        End If
    End Sub
    En espérant avoir été clair.

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Citation Envoyé par zoumzoum59 Voir le message
    La procedure Principale fait partie d'un Userform et la procedure essai est dans un module
    Voilà l'erreur ‼     Et ce n'est vraiment pas compliqué à expliquer dès la présentation initiale !

    La déclaration de la variable globale doit être effectuée dans un module normal
    et non pas dans le module de classe de l'UserForm …

    Évidemment ce problème n'aurait pas existé via l'utilisation d'une fonction en place d'une procédure !

  9. #9
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 487
    Points : 163
    Points
    163
    Par défaut
    Ok Merci Marc-L c'est bien ça, il est vrai que pour un pro ça doit être évident par contre pour moi ce sont des bases qui m'échappe.

    Merci a vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DAO][VBA]Ajout d'enregistrement : erreur objet requis
    Par charlix dans le forum VBA Access
    Réponses: 7
    Dernier message: 22/04/2007, 17h02
  2. fonction ActiveWindow.Name erreur objet requis
    Par Davik dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/02/2007, 12h08
  3. [VBA E] erreur objet requis sur format horaire
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/06/2006, 19h30
  4. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 10h46
  5. Erreur "Objet requis"
    Par cindaille dans le forum Access
    Réponses: 5
    Dernier message: 26/10/2004, 01h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo