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 :

feuille nom interne objet requis [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Par défaut feuille nom interne objet requis
    Bonjour,
    j'ai changé le nom interne de Feuil1 en OBST pour tomber sur la bonne feuille même si l'utilisateur change de nom l'onglet. Quand le VB et l'onglet a traiter sont dans le même fichier cela fonctionne. Lorsque l'onglet est dans un fichier ouvert par le programme cela donne l'erreur "objet requis" sur la ligne OBST.Range("C3:C3") = c_682

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Réponse = Application.Dialogs(xlDialogOpen).Show
        If Réponse = True Then
            Fichier_2 = ActiveWorkbook.Name
            Windows(Fichier_2).Activate
    .....
    OBST.Range("C3:C3") = c_682
    Pouvez vous m'aider?
    Cordialement.

  2. #2
    Membre chevronné
    Inscrit en
    Janvier 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 483
    Par défaut
    Bonjour
    pas sur d'avoir tous compris mais remplace
    par le nom de ton fichier portant la feuille ODBT

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Par défaut
    OBST est le CodeName de la feuille et Fichier_2 est le nom du fichier dans lequel j'ai la feuille OBST

  4. #4
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    Pas sûr non plus d'avoir compris le but de la manœuvre
    si tu veux pointer la premier feuille du classeur2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test3()
    With Workbooks("Classeur.xls").Sheets(1)
    .Range("b43").Value = "test reussi"
    End With
    End Sub

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour à tou(te)s,

    et ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OBST.Range("C3:C3") = c_682
    c_682 est-ce une variable ?, si oui déclarée ou ? et comment ?

    de plus, ne peux-tu pas remplacer par A voir....

    Bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Par défaut
    Bonjour,

    Il semble effectivement que ta feuille OBST ne soit accessible directement via son "CodeName" que si elle se trouve dans le classeur hébergeant ta macro. Une solution est donc d'identifier ta feuille OBST à partir de la valeur de sa propriété CodeName, en balayant les feuilles du classeur ouvert par l'utilisateur.

    Voici ce que ça peut donner, en créant par exemple d'abord une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Récupère une feuille dans un classeur à partir de son "CodeName"
    Function GetFeuille(Classeur As Workbook, strFeuilCodeName As String, maFeuille As Worksheet) As Boolean
        Dim Feuil As Worksheet
        Set maFeuille = Nothing
        For Each Feuil In Classeur.Worksheets
            If LCase(Feuil.CodeName) = LCase(strFeuilCodeName) Then
                GetFeuille = True
                Set maFeuille = Feuil
                Exit For
            End If
        Next
    End Function
    que tu peux utiliser ensuite dans ton code de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim feuilOBST As Worksheet
    Réponse = Application.Dialogs(xlDialogOpen).Show
    If Réponse = True Then
        If GetFeuille(ActiveWorkbook, "OBST", feuilOBST) Then
            '.....
            feuilOBST.Range("C3").Value = c_682
        Else
            'Feuille OBST non trouvée dans le classeur
        End If
    End If

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

Discussions similaires

  1. [XL-2007] Appel nom interne d'une feuille avec variable
    Par friout dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/12/2011, 12h52
  2. [DisplayTag] Error looking up property "nom" in objet type "mysample.Personne"
    Par slyv dans le forum Taglibs
    Réponses: 3
    Dernier message: 02/03/2011, 17h53
  3. Nom d'Objet Invalide
    Par etiennegaloup dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/11/2004, 09h17
  4. Erreur "Objet requis"
    Par cindaille dans le forum Access
    Réponses: 5
    Dernier message: 26/10/2004, 00h59
  5. Réponses: 11
    Dernier message: 16/10/2004, 18h14

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