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 :

Probleme Code Macro (Affectation variable?)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Par défaut Probleme Code Macro (Affectation variable?)
    Bonjour,

    Je souhaiterais faire disparaitre les lignes dans ma feuille excel qui ne figure pas dans ma variable range (de 7 à 11) et celle qui ne contiennent pas linfo "AA"

    Alors j'ai écris ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                    For ligne = 4 To [B65536].End(xlUp).Row
                        If Cells(ligne, 12) <> List(7) And _
                           Cells(ligne, 12) <> List(8) And _
                           Cells(ligne, 12) <> List(9) And _
                           Cells(ligne, 12) <> List(10) And _
                           Cells(ligne, 12) <> "AA" And _
                           Cells(ligne, 12) <> List(11) Then
     
                                Rows(ligne).EntireRow.Hidden = True
                        End If
                    Next ligne

    Par contre même si l'info dans dans le range "List(7)" est identique à la valeur de la cellule celle ci va etre caché... pourquoi ? (j'ai verifié avec le mode pas à pas)
    Et t il possible que c'est a cause de la couleur de fond qui est sur la cellule ? il faudrait faire une recherche sur le texte brut de la cellule?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Windows(Ref).Activate
    Sheets("Ref").Select
    Derniereligne = Range("C65536").End(xlUp).Row
    ReDim List(7 To Derniereligne) As String
    For Num = 7 To Derniereligne
        List(Num) = Cells(Num, 3).Value
    Next Num
    Faut il que j'affecte d'une autre facon mes variable pour juste comparer les texte brutes?


    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    la valeur par défaut d'un cells est value, donc il compare que la vaaleur. dans ton cas, le plus probable est une difference de casse (ou un espace a la fin) entre les deux value. essaie en faisant un copier coller, tu seras sur d'avoir la même value

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Par défaut
    comme je l'ai dis avant les 2 cellules sont strictement identique, pas d'espace.... et lorsque je place le curseur sur la variable je la retrouve bien :/

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut Esmax666 et le forum
    tu as un test de comparaison de 6 variables, et si une seule est faux, ta formule devient faux : dans un cas comme ça, je décompose ma formule en 6 tests pour vérifier celui qui plante : tu as donc l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    For ligne = 4 To [B65536].End(xlUp).Row
                        If Cells(ligne, 12) <> List(7) 
                                Rows(ligne).EntireRow.Hidden = True
                        End If
                    Next ligne
    qui te cache les lignes, même en cas d'égalité sur une copie de List(7) dans la cellule, avant le test ?
    A+

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/11/2011, 18h37
  2. Probleme code iframe dans variable php
    Par thildouille dans le forum Langage
    Réponses: 3
    Dernier message: 21/05/2011, 10h21
  3. Probleme pour recuprer une variable dans un code embed vers un swf
    Par marcovitch80 dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 17/01/2008, 20h16
  4. Réponses: 10
    Dernier message: 03/05/2005, 21h57
  5. Affecter variable champs
    Par pete007 dans le forum ASP
    Réponses: 3
    Dernier message: 20/04/2004, 16h33

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