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 :

VBA EXCEL, alternance


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 6
    Par défaut VBA EXCEL, alternance
    Bonjour,
    je voudrais colorer les lignes en alternance dès que le chiffre est plus grand.
    Je sait faire avec pair ou imper, mais dans ce cas, j'ai deux séries d'impair en suivant !

    1 ColorIndex=35
    1 ColorIndex=35
    1 ColorIndex=35
    2 ColorIndex-36
    2 ColorIndex=36
    3 ColorIndex=35
    3 ColorIndex=35
    3 ColorIndex=35
    5 ColorIndex=36
    5 ColorIndex=36

    Merci de m'aiguiller.

  2. #2
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut Daniel et bonne année 2017,

    Pour faire ce que tu veux, tu n'as pas besoin de VBA.

    Tu peux utiliser une mise en forme conditionnelle.

    Je t'ai fait une illustration pour que tu puisse comprendre.
    Nom : mfc.png
Affichages : 244
Taille : 27,4 Ko

    En gros, tu ajoutes une colonne avec la formule SI. Cette colonne peut être cachée pour faire propre.
    Ensuite, tu mets en place 2 MFC.
    Une Si la colonne supplémentaire = VRAI
    L'autre si c'est FAUX.

    En plus, en cas d'ajout, modification, la MFC se met à jour automatiquement.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 6
    Par défaut
    Bonjour Jerome et bonne année 2017

    Non, il est impératif de faire cela en VBA car la feuille que je traite
    a étée crée par VBA avec récupération d'une plage de cellule !

    A te lire.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Daniel MERCIER Voir le message
    Bonjour,

    J'ai mis en ligne sur mon blog un code qui peut vous intéresser Excel-alterner-couleurs-lignes-fonction-valeurs-colonne

    Une différence tout de même : le changement de couleur s'exécute sur changement de valeur et pas sur changement avec valeur croissante, mais j'imagine que votre tableau est trié.

    Je n'utilise pas les valeurs d'Interior.colorindex mais les valeurs RGB avec Interior.Color.

    Cordialement.

    Bonjour Jérôme.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Je ne m'embarrasserais personnellement pas outre mesure avec ce genre de choses cosmétiques, que je coderais sans hésitation à la louche, ainsi, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     derlig = Range("A" & Rows.Count).End(xlUp).Row
      Range("A" & 1 & ":A" & derlig).Interior.Color = vbYellow
      Dim c1 As Range, c2 As Range
      For i = 1 To derlig
        Set c1 = Range("A" & i)
        Set c2 = Range("A" & i + 1)
        If c2.Value > c1.Value Then
          Range("A" & i + 1 & ":A" & derlig).Interior.Color = IIf(c1.Interior.Color = vbRed, vbYellow, vbRed)
        End If
      Next

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 6
    Par défaut
    Bonsoir unparia,

    Ton code tourne parfaitement !

    Que dois-je changer si je veut utiliser en alternance :
    Interior.ColorIndex = 35
    Interior.ColorIndex = 36

    Mais déja un grand merci.

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

Discussions similaires

  1. [VBA-Excel,VB6,Fichier texte]enregistrer un classeur excel..
    Par Tarul dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2005, 13h09
  2. [vba-excel] Le temps de fermeture trop court ?
    Par Damsou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2005, 10h03
  3. [VBA-Excel]
    Par Damsou dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/01/2005, 10h17
  4. [VBA EXCEL] Réduire/Agrandir UserForms
    Par Fench dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2003, 16h02
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

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