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 :

Range cells select


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut Range cells select
    Bonjour,

    J'ai quelques problemes avec le range/cells select.

    J'ai un tableau à 7 colonnes et et une dizaine de lignes. Je dois comparer les lignes 2 par 2 et mettre en couleur les différences.

    Exemple

    Montant / Valeur / date
    a/b/c
    a/b/c
    d/e/f
    d/e/g

    Mon but est de comparer les deux premières lignes entre elles (pas d'erreurs) et les deux suivantes entre elles (et mettre f et g en couleur).

    Pour ce faire, j'ai ce code :

    Mon h représente le numéro de ligne, glissant donc de 2 en 2
    i est le numéro de colonne glissant colonne par colonne
    Nb_ligne_reporting est le nombre de ligne du tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     h = 3
     i = 2
    Nb_ligne_reporting = Application.WorksheetFunction.CountA(Workbooks("Reporting").Worksheets("Rapport").Range("B2:B1000"))+1
     
    Do While h <= Nb_ligne_reporting
        For i = 2 To 12
           If Cells(h - 1, i) <> Cells(h, i) Then
                    Cells(h - 1, i).Select
                    With Selection.Interior
                              .Color = 255
                    End With
     
                    Cells(h, i).Select
                    With Selection.Interior
                                    .Color = 255
                     End With
              End If
      Next i
    h=h+2
    loop

    ----> Mon problème est que, quand je teste, je reçois :

    Erreur d'exécution '1004':
    Erreur définie par l'application ou par l'objet

    Quand je fais F8, je vois que le probleme vient de Cells.select


    Étonnement, quand je retire ce code de ma procédure et que je la met dans une autre, elle fonctionne ! Mais dès que je l'appelle par un call dans la première, ça ne marche plus !!!

    Avez vous une idée ?

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La feuille sur laquelle tu fais ton SELECT ne serait-elle pas cachée ?
    Petite parenthèse mais cela ne supprimera pas ton erreur, il est inutile d'utiliser SELECT
    Ceci fonctionne parfaitement et est plus rapide (si on a beaucoup de lignes à traiter évidemment)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Cells(h - 1, i).Interior.Color = 255
     Cells(h, i).Interior.Color = 255
    Avec un petit tableau comme celui-là. N'aurais-tu pas plus facile avec une mise en forme conditionnelle ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut
    Bon alors la grosse blague c'est qu'en remplaçant mes selects par ta formule, ça fonctionne !!!

    Donc le problème venait vraiment du "select".

    Un grand merci pour ton aide !

    (ça faisait plusieurs heures que je perdais sur ce code. J'avais tout essayé, du cells au range.offset en passant par d'autre procedure ... ^^)

    Merci

    EDIT : Et malheureusement non la feuille n'était pas cachée

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est très curieux car qu'il y ai SELECT ou pas ne change rien à l'affaire.
    Bien qu'étant sûr de moi, j'ai tout de même vérifié parce-que tout est possible avec l'informatique. Chez moi avec ou sans SELECT cela fonctionne.
    Je suis ravi pour toi que cela fonctionne mais il y a sûrement eu autre chose.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 78
    Par défaut
    Bonjour brown_ey

    Ne pourrais-tu pas faire une mise en forme conditionnelle directement sur ta feuille excel?

Discussions similaires

  1. [Dojo] Lier deux dojox.grid.cells.Select dans un dojox.grid
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 03/09/2009, 15h18
  2. copier une colonne pb avec range cells
    Par clairev dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/07/2009, 14h40
  3. [E-07] Range(Cells ne fonctionne pas
    Par Luis Vieira da Silva dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/02/2009, 20h25
  4. Comment utiliser Range(cells(... pour indiquer une plage de cellules
    Par gerald57 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/05/2008, 10h35
  5. Range - cells ?
    Par popo68 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/01/2007, 11h48

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