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 :

Problème de comparaison entre une valeur et les données d'un tableau ( listobject ) [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2014
    Messages : 19
    Points : 36
    Points
    36
    Par défaut Problème de comparaison entre une valeur et les données d'un tableau ( listobject )
    Bonjour,

    Pour illustrer mon problème, j'ai joint le classeur ci-dessous et codé le contrôle 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
     
    Option Explicit
     
    Private Sub CommandButton1_Click()
     
      Dim LR As ListRow
     
      For Each LR In Sheets("Feuil1").ListObjects("Tableau1").ListRows
        If LR.Range.Cells(LR.Index, 1).Value2 = "Antoine" Then
          LR.Range.Cells(LR.Index, 1).Interior.Color = 255
        End If
      Next LR
     
    End Sub
    Tableau1 comprend les données suivante :
    Antoine
    Antoine
    Bernard
    Christian
    Antoine
    Denis
    Eric
    Frédéric
    Hector

    J'espérai que toute les cellules contenant "Antoine" soit rouge après lancement du contrôle. Or ce n'est pas le cas.

    Qui peut m'expliquer d'où vient le problème.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    BonjourKassy

    Essaie avec un tableau ayant plus que une colonne. Ce sera plus facile à comprendre.
    Tu verras dans le classeur ci-joint que ce n'est pas la cellule LR.Range.Cells(LR.Index, 1) qui t'intéresse.
    Fichiers attachés Fichiers attachés
    Cordialement

    Docmarti.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2014
    Messages : 19
    Points : 36
    Points
    36
    Par défaut Remerciement et esposition d'un deuxième (et dernier) problème.
    Merci Gérard de m'avoir mis sur la piste et d'avoir répondu aussi rapidement.

    Je retiens l'idée de la sélection des cellules au moment de la mise au point du code. Cela m'a permis de comprendre que Cells(LR.Index, 1) introduit un décalage de LR.index ligne. Je l'ai donc remplacé par Columns(1).

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    La bonne syntaxe est Cells(1,1) car la syntaxe de cells() est Cells(Ligne, Colonne).

    Et effectivement, l'utilisation de SELECT lors de la mise au point d'un programme nous permet de voir rapidement nos erreurs, donc de ne pas en faire.
    Cordialement

    Docmarti.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2014
    Messages : 19
    Points : 36
    Points
    36
    Par défaut
    Encore un grand merci.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/03/2015, 09h31
  2. Problème lors q'une comparaison entre 2 valeurs
    Par Xenonmax dans le forum Android
    Réponses: 2
    Dernier message: 15/11/2011, 14h17
  3. Réponses: 1
    Dernier message: 24/01/2008, 09h13
  4. Réponses: 28
    Dernier message: 27/11/2007, 10h40
  5. [MFC][Registre] Entrée une valeur dans REG_BINARY
    Par lastcheper dans le forum MFC
    Réponses: 3
    Dernier message: 04/10/2005, 11h59

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