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 de compilation sur les autres postes [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 156
    Par défaut Erreur de compilation sur les autres postes
    Bonjour,

    J'utilise la macro ci dessous sur mon poste sans problème, mais rencontre une Erreur de compilation "projet ou bibliothèque introuvable" sur les autres postes.
    L'erreur est au niveau de [Etat]
    Etat correspondant au nom des cellules nommées.

    Code: (permet de colorer les cellules de 1 à 15 suivant la couleur liée à la cellule 15)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Change(ByVal Target As Range)
     
      If Target.Column = 15 Then
         On Error Resume Next
        Cells(Target.Row, 1).Resize(, 15).Interior.ColorIndex = [Etat].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
     
      End If
    End Sub
    Je pense que c'est un problème de déclaration de variables????
    Pouvez-vous m'aider?
    Merci.

  2. #2
    Expert éminent
    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
    Par défaut

    Bonjour, bonjour

    merci de mettre le code entre balises via l'icône dédiée #


    Le nom Etat apparait-il dans la liste des noms définis sur les autres ordinateurs ?

    Si oui, remplacer alors [Etat] par Range("Etat")

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 156
    Par défaut
    Bonjour,

    Le fichier Excel en question est disponible sur le réseau, mes collègues utilisent donc le même fichier que moi. Par conséquent les cellules nommées "Etat" sont les autres postes.
    J'ai essayé le code ci dessous.
    Plus d"erreur mais la macro ne fonctionne plus, pas de changement des couleurs....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
     
     
      If Target.Column = 15 Then
         On Error Resume Next
     
        Cells(Target.Row, 1).Resize(, 15).Interior.ColorIndex = Range("Etat").Find(Target, LookAt:=xlWhole).Interior.ColorIndex
      End If
    End Sub

  4. #4
    Expert éminent
    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
    Par défaut

    Déjà avec la présence de la ligne n°4, on ne peut pas savoir s'il y a une erreur, à supprimer donc !

    Edit : la ligne n°7 dans le second code maintenant entre balises …

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 156
    Par défaut
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim Etat As String
    Etat = Range("etat").Value
     
      If Target.Column = 15 Then
         'On Error Resume Next
        'Cells(Target.Row, 1).Resize(, 15).Interior.ColorIndex = [Etat].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
        Cells(Target.Row, 1).Resize(, 15).Interior.ColorIndex = Etat.Find(Target, LookAt:=xlWhole).Interior.ColorIndex
      End If
    End Sub
    Mais cela provoque Erreur de compilation, qualificateur incorrect. Etat est surligné.

  6. #6
    Expert éminent
    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
    Par défaut
    Etat est surligné.

    Bien, mais c'est utile aussi de préciser le numéro de la ligne ‼

    Je suppose que c'est la n° 10 et dans ce cas je dirais : normal ! Grossière boulette ‼

    En fait c'était ma première réponse mais je l'ai effacée croyant faire fausse route …


    Tout d'abord, la base : à quoi la méthode Find doit-elle être rattachée ?

    Consulter son aide et son exemple (cela m'évite un roman et comme c'est bien expliqué et c'est la base)
    car certainement pas à une valeur …


    Ma première idée est les autres postes ne sont pas en cause, le code ne fonctionnant pas dès l'origine ‼

    Ce serait bien aussi d'expliquer littéralement ce qu'est censé effectuer cette procédure …

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

Discussions similaires

  1. erreur de compilation sur les operateurs
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 15/05/2011, 02h42
  2. Erreur d'accès à une copie de BD mysql5 sur un autre poste
    Par Klemsy78 dans le forum Installation
    Réponses: 1
    Dernier message: 31/07/2009, 19h10
  3. Macro qui marche sur un poste et pas sur les autres
    Par INeedHelp dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/05/2008, 08h58
  4. Réponses: 6
    Dernier message: 01/04/2008, 15h42
  5. Réponses: 17
    Dernier message: 15/10/2003, 01h45

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