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

Excel Discussion :

emploie variable dans Application.Goto Reference [XL-2007]


Sujet :

Excel

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 16
    Par défaut emploie variable dans Application.Goto Reference
    Bonjour à tous,
    je cherche à employer une variable dans la fonction "Application.Goto Reference"

    Mais je bloque actuellement.
    Excel me renvoir une message d'erreur:
    "Run-time error 1004:
    Reference is not valid"

    En réalité mon projet est plus large,
    je cherche à récupérer les couleurs de fond d'une zone de champ, elle-même utilisé dans une liste déroulante via validation de données (ex en C10).

    Dans certain cas, j'utilise des cascades de validation de données avec la fonction "INDIRECT" (ex en C11).

    C'est pourquoi j'ai besoin d'une variable reprennant le résultat de la fonction Indirect.

    Ci-joint le début de macro que j'ai réalisé et ainsi que le fichier Excel.
    Je ne suis qu'un débutant dans la création de macro mais un grand fervant et professionnel d'Excel, c'est pourquoi je vous demanderai un peu d'indulgence dans ce domaine.

    Merci d'avance à tous les mordus d'Excel.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut
    Bonjour,
    Moi j'en suis là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub synoptic1()
    Dim Nom_Z_C As String, o As Range
    'sélectionner le contenu choisi dans la liste déroulante
    Choix = ActiveCell.Value
    'définition de la zone de champ correpondante à la datavalidation
    Nom_Z_C = [C5] & "_reflectors"
    ' find du choix dans la zone de champ correspondant
    With Worksheets("Global Synoptic").Range(Nom_Z_C)
    Set o = .Find(Choix, LookIn:=xlValues)
    End With
    'sélectionner le code couleur de la cellule recherchée et l'appliquer au choix de la liste déroulente
    ActiveCell.Interior.ColorIndex = o.Interior.ColorIndex
    End Sub
    ... mais je ne manipule pas la validation de donnée. Dans ton exemple il ne semble pas que cela soit indispensable ?
    A+

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 16
    Par défaut
    Merci pour ton aide.

    après remaniement, voici la version que je vais utiliser.
    Elle me parait plus simple/allégé.

    Merci encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub synoptic()
    'sélectionner le contenu choisi dans la liste déroulante
    Choix = ActiveCell.Value
    'définition de la zone de champ correpondante à la datavalidation
    Nom_Z_C = ActiveCell.Validation.Formula1
     
    ' find du choix dans la zone de champ correspondant
     
    With Range(Nom_Z_C) 'il n'est pas nécessaire de spécifier la feuille puisque une des force d'Excel est d'atteindre une zone de champ directement
    Set o = .Find(Choix, LookIn:=xlValues)
    End With
    'sélectionner le code couleur de la cellule recherchée et l'appliquer au choix de la liste déroulente
    ActiveCell.Interior.ColorIndex = o.Interior.ColorIndex
    End Sub

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

Discussions similaires

  1. erreur sur Application.Goto Reference:= "refString"
    Par philoeil dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/05/2012, 12h01
  2. Stocker des variables dans la couche application
    Par mumuri dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 21/08/2009, 17h33
  3. Réponses: 14
    Dernier message: 08/05/2008, 16h13
  4. variable d'application dans une classe
    Par flogreg dans le forum ASP.NET
    Réponses: 3
    Dernier message: 14/11/2007, 10h31
  5. Forcer l'emploi d'une variable dans Procedure
    Par Arvulis dans le forum Oracle
    Réponses: 2
    Dernier message: 17/06/2006, 10h58

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