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 :

boucle For qui ne marche pas entiérement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 42
    Par défaut boucle For qui ne marche pas entiérement
    Bonjour à tous,

    J'ai effectué une maccro qui est censé colorer toute les lignes de 3 à jusqu'à la dernière valeur et de la colonne A3 à W.End(xlDown).Row quand il y a "N" dans la cellule i,23
    Mais ça me colore que les lignes 3 et 4, voici mon code, identifiez vous une erreur?

    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
    Sub O_ou_N()
     
     
     
    lignemax1 = Range("A3").End(xlDown).Row
     
     For i = 3 To lignemax1
     
     Sheets("HISTORIQUE NEGOCIATIONS").Activate
     
                If Cells(i, 23).Value = "N" Then
     
                     Range(Cells(i, 1), Cells(i, 23)).Select
     
                            With Selection.Interior
                                .Pattern = xlSolid
                                .PatternColorIndex = xlAutomatic
                                .ThemeColor = xlThemeColorAccent3
                                .TintAndShade = 0.599993896298105
                                .PatternTintAndShade = 0
                            End With
     
                End If
     Next i
     
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    test ça!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub O_ou_N()
    lignemax1 = Sheets("HISTORIQUE NEGOCIATIONS").Range("A" & Cells.Rows.Count).End(xlUp).Row
     For i = 3 To lignemax1
                 If UCase(Trim("" & Sheets("HISTORIQUE NEGOCIATIONS").Cells(i, 23).Value)) = "N" Then
                             With Sheets("HISTORIQUE NEGOCIATIONS").Range(Sheets("HISTORIQUE NEGOCIATIONS").Cells(i, 1), Sheets("HISTORIQUE NEGOCIATIONS").Cells(i, 23)).Interior
                                .Pattern = xlSolid
                                .PatternColorIndex = xlAutomatic
                                .ThemeColor = xlThemeColorAccent3
                                .TintAndShade = 0.599993896298105
                                .PatternTintAndShade = 0
                            End With
                 End If
     Next i
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 42
    Par défaut
    Merci rdurupt, ça marche parfaitement. Maintenant je dois faire autre chose tu pourras peut etre m'aider, c'est que la maccro se déclenche que si on modifie cells i,23, pour qu'elle se déclenche automatiquement, je sais que c'est dans Private Sub Worksheet_selectionChange(ByVal Target As Range) mais quand je lance, une fenetre s'ouvre avec toutes les maccros, peux tu m'aider?

    Private Sub Worksheet_selectionChange(ByVal Target As Range)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Not Intersect(Target, Range("w:w").End(xlDown).Row) Is Nothing Then
     
        Call O_ou_N
     
        End If
     
    End Sub

  4. #4
    Invité
    Invité(e)
    Par défaut
    dans ce cas, dans ton projet double click sur la feuille "HISTORIQUE NEGOCIATIONS" et copy ce code!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 23 And UCase(Trim("" & Target.Value)) = "N" Then
        With ActiveSheet.Range(ActiveSheet.Cells(Target.Row, 1), Target).Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent3
            .TintAndShade = 0.599993896298105
            .PatternTintAndShade = 0
        End With
    End If
    End Sub
    Images attachées Images attachées  

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 42
    Par défaut
    Là c'est parfait, merci rdurupt

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

Discussions similaires

  1. Boucle for() qui ne fait pas ce que je veux
    Par Tendhor57 dans le forum Langage
    Réponses: 8
    Dernier message: 01/06/2013, 19h58
  2. [XL-2010] Boucle For qui ne fonctionne pas pour toutes les valeurs
    Par pleskyd dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 13/02/2012, 15h16
  3. Réponses: 8
    Dernier message: 01/06/2010, 11h43
  4. une boucle for qui ne fonctionne pas
    Par piffeo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/11/2008, 21h52
  5. boucle for qui ne marche pas
    Par Invité dans le forum Langage
    Réponses: 16
    Dernier message: 12/06/2006, 10h59

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