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 :

Supprimer les cellules qui ne sont pas colorées


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Points : 17
    Points
    17
    Par défaut Supprimer les cellules qui ne sont pas colorées
    Bonsoir,

    J'ai opté pour l'utilisation d'une macro afin de supprimer les cellules de la colonne A qui ne sont pas colorées.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub aff_cellule_coloree()
     Dim i
    For i = 1 To 15
    'si cellule avec couleur ne rien faire
    If Worksheets(1).Range("A" & i).Interior.Color<>null Then
    'sinon supprimer les cellules sans couleurs vers le haut  
    Else: Range("A" & i).Delete Shift:=xlUp
    End If
    Next i
    End Sub
    Mon souci est que je n'ai pas le résultat souhaité

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 279
    Points : 11 736
    Points
    11 736
    Par défaut
    c'est normal, tu testes une couleur mise en dur et non issue de la mise en forme conditionnelle.

    la seule façon de faire c'est de rejouer les conditions de la mef conditionnelle.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Antoun,

    Je travaille sur un fichier contenant des cellules colorées sans mef conditionnelle d'où cette macro.

    Merci de ton aide.

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 279
    Points : 11 736
    Points
    11 736
    Par défaut
    pardon ! enlève déjà les : après le Else, ça passera mieux !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Antoun Voir le message
    pardon ! enlève déjà les : après le Else, ça passera mieux !
    Les : ont été inséré automatiquement par l'appli.
    J'ai tt de même enlevé ces 2 points et j'ai le même résultat.
    Je continue à chercher, en attendant de l'aide

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 279
    Points : 11 736
    Points
    11 736
    Par défaut
    Citation Envoyé par Gwadadev Voir le message
    Les : ont été inséré automatiquement par l'appli.
    oui, quand on fait une fausse manipe, il fait ça et ça désactive le Else (il est considéré comme une étiquette).
    Citation Envoyé par Gwadadev Voir le message
    J'ai tt de même enlevé ces 2 points et j'ai le même résultat.
    Je continue à chercher, en attendant de l'aide
    Bon, puisqu'on me force à tester ... en 2007

    Font.Color est la couleur de la police (du texte). La couleur de la cellule elle-même est Interior.PatternColor, et qu'il y ait ou non une couleur est dans Interior.Pattern. Tout ça se trouve facilement en enregistrant une macro, ce dont tu peux avoir besoin avec une autre version.

    Plutôt que d'imaginer que "non coloré" est null, tu testes une cellule non colorée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox range("A1").Interior.Pattern
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour tlm,

    Pour supprimer des cellules ou des lignes en bouclant sur une plage de cellules, il faut boucler de bas en haut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub aff_cellule_coloree()
     Dim i as integer
    For i = 15 to 1 Step -1
    'si pas de couleur
    If Sheets(1).Range("A" & i).Interior.ColorIndex = xlNone Then
    'supprimer les cellules sans couleurs
    Range("A" & i).Delete Shift:=xlUp
    'si on peut supprimer toute la ligne
    'Rows(i).Delete
    End If
    Next i
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    La macro fonctionne comme je le souhaitais.

    Merci Fring.

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

Discussions similaires

  1. supprimer les fichiers qui ne sont pas dans une liste
    Par jeorcal dans le forum Langage
    Réponses: 7
    Dernier message: 15/01/2011, 10h03
  2. [W3C] Recherche d'un logiciel pour détecter les balises qui ne sont pas fermées
    Par Etanne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 19/11/2007, 16h55
  3. Réponses: 10
    Dernier message: 15/12/2006, 07h34
  4. Réponses: 3
    Dernier message: 26/07/2006, 20h41
  5. Réponses: 4
    Dernier message: 02/06/2006, 12h03

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