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 :

Simplifier une macro [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut Simplifier une macro
    Bonjour à tous

    Voila en ci-dessous j'ai une macro qui fonctionne bien mais à mon avis elle pourrai être simplifier afin d'avoir moins de lignes dans mon code donc ma question existe t-il un moyen de résumer le code ci-dessous

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Private Sub Par_Mois_ComboBox_Click()
     
    'Colorer les totaux positifs en couleur rouge de la colonne 14
      With Sheets("Récap-Codes-Divers")
    'Boucle sur les lignes
      For i = 4 To 13
        'Boucle sur les colonnes
        For j = 14 To 14
            'Test de la cellule
            Cells(i, j).Select
            If Cells(i, j).Value > 0 Then
                'Affectation de la couleur rouge
                Selection.Interior.Color = RGB(234, 241, 221)
                Selection.Font.ColorIndex = 3
            Else
                'Affectation de la couleur noir
                Selection.Interior.Color = RGB(234, 241, 221)
                Selection.Font.ColorIndex = 1
            'End If
            End If
          Next
        Next
    'Et colorer les totaux positifs en couleur rouge de la colonne 19
    'Boucle sur les lignes
      For i = 4 To 13
        'Boucle sur les colonnes
        For j = 20 To 20
            'Test de la cellule
            Cells(i, j).Select
            If Cells(i, j).Value > 0 Then
                'Affectation de la couleur rouge
                Selection.Interior.Color = RGB(234, 241, 221)
                Selection.Font.ColorIndex = 3
            Else
                'Affectation de la couleur noir
                Selection.Interior.Color = RGB(234, 241, 221)
                Selection.Font.ColorIndex = 1
            'End If
            End If
          Next
        Next
      End With
    End Sub
    Merci à vous tous

    Cordialement

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir
    déjà il y a pas quelque chose qui te gene dans ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 4 To 13
        'Boucle sur les colonnes
        For j = 14 To 14
            'Test de la cellule
            Cells(i, j).Select
    ta boucle for j elle sert a quoi ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut
    Bonsoir

    au faite je veux que la couleur ne touche que la colonne N4 à N13 et T4 à T13 c'est pour ça je l'est ai séparé les deux codes en For j =14 to 14 et For j =20 to 20 sachant bien que (14 c'est le num de colonne N et 20 c'est le num de colonne T)

    Voila à quoi elle sert

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

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    oui, elle peut être réduite à ... 0 lignes.
    'Colorer les totaux positifs en couleur rouge de la colonne 14
    Pourquoi pas avec le format de cellule tout simplement (?). Le rouge disponible ne te plait pas ? Tu as les MFC...
    Au pire si tu tiens vraiment à ne pas le mettre directement sur la feuille, pour l'ajouter en vba ça ferait 1 ligne
    https://support.office.com/fr-fr/art...3-80f18b4eae68
    eric

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    D'accord avec eriiic, cette macro est inutile.
    Une mise en forme conditionnelle sera bien plus simple, rapide, dynamique et adaptable qu'une macro pour faire ce genre de chose.

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut
    Ok alors quelle formule utiliser en conditionnelle de sorte que à avoir ceci : Si une cellule entre N4 et N14 contient une valeur positive alors c'est rouge sinon c'est noir

  7. #7
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Ceci devrait pouvoir vous aider :
    Nom : mfc.png
Affichages : 148
Taille : 19,3 Ko

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par INFINITY100 Voir le message
    Ok alors quelle formule utiliser en conditionnelle de sorte que à avoir ceci : Si une cellule entre N4 et N14 contient une valeur positive alors c'est rouge sinon c'est noir
    Si ce n'est pas plus compliqué que ça, il y a une méthode encore plus simple.

    Sélectionne N4:N14 > Clic droit > Format de cellule > Onglet Nombre > Catégorie : Personnalisée > Dans le champ Type, taper [Rouge]Standard;[Noir]-Standard

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

Discussions similaires

  1. [XL-2007] Simplifier une macro
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/05/2015, 17h06
  2. Simplifier une macro
    Par chito79000 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/05/2015, 11h22
  3. [XL-2007] Je cherche à simplifier une macro
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/05/2015, 04h55
  4. [XL-2010] Simplifier une macro
    Par Ardiden31 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 14/04/2015, 14h14
  5. {VBA Excel} Simplifier une macro avec une copie
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/06/2007, 14h38

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