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 :

Problème d'intervalle dans Excel [XL-2007]


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
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut Problème d'intervalle dans Excel
    Nouvelle discussion, décidément ...

    Voici mon code :

    En fonction de la valeur prise (nombre négatif j'attribue un code couleur)

    Voici mon code :

    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
    Sub Couleur_ordre123()
     
    For I = 1 To 25
     
        If (-30 < Cells(I, 11).Value < 0) Then
        Cells(I, 11).Interior.ColorIndex = 9
     
        If (-31 < Cells(I, 11).Value < -60) Then
        Cells(I, 11).Interior.ColorIndex = 9
     
        If (-61 < Cells(I, 11).Value < -100000) Then
        Cells(I, 11).Interior.ColorIndex = 9
        End If
        End If
        End If
     
        Next
     
    End Sub
    Le problème est que seul mon premier intervalle fonctionne et je ne comprend pas très bien pourquoi ! Est ce un problème d'expression, qui bugg lorsque l'intervalle n'est plus fonction de "0" ???

    Je vous remercie par avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (-61 < Cells(I, 11).Value < -100000) Then
    si cells= -80!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (-60 < -80 < -10000) then ' = faux
    if (-60 < -15000 < -10000) then ' = faux
    if (-60 < -59 < -10000) then ' = faux
    donne moi un exemple ou ça marche!

  3. #3
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Antim, Bonjour le Forum,

    Bienvenu.

    Plusieur remarques

    - Pour une plus grande facilité de lecture, poste ton code avec les balises # adéquates
    - Tes conditions doivent se suivre plutôt que d'être imbriquées
    - La méthode me semble plus adéquate

    Bonjour Robert,

    Si je peux me permettre, l'odre des éléments est inversé.
    En effet
    -10000 < -80 < -60

    Non?

  4. #4
    Invité
    Invité(e)
    Par défaut bonjour,MarcelG
    problème un a y il cas tout en

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut select case
    Salut,

    Pardon?

    Pour en revenir à ma proposition (à adapter bien sûr)

    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
    Option Explicit
     
    Public Sub essai_couleur()
     
    Dim i As Byte, lacouleur As Byte
     
    For i = 1 To 25
        With Worksheets(1).Cells(i, 11)
            Select Case .Value
                Case Is <= -100000
                    lacouleur = 9
                Case -99999 To -61
                    lacouleur = 19
                Case -60 To 0
                    lacouleur = 29
                Case Else
                    lacouleur = 53
            End Select
            .Interior.ColorIndex = lacouleur
        End With
    Next i
     
    End Sub

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui!

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 25
    Par défaut
    Citation Envoyé par MarcelG Voir le message
    Salut,

    Pardon?

    Pour en revenir à ma proposition (à adapter bien sûr)

    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
    Option Explicit
     
    Public Sub essai_couleur()
     
    Dim i As Byte, lacouleur As Byte
     
    For i = 1 To 25
        With Worksheets(1).Cells(i, 11)
            Select Case .Value
                Case Is <= -100000
                    lacouleur = 9
                Case -99999 To -61
                    lacouleur = 19
                Case -60 To 0
                    lacouleur = 29
                Case Else
                    lacouleur = 53
            End Select
            .Interior.ColorIndex = lacouleur
        End With
    Next i
     
    End Sub
    Bravo ça fonctionne parfaitement
    Merci beaucoup pour l'aide et le conseil (Select.case), je tacherai de l'utiliser d'avantage à l'avenir !!

    Encore bravo et bonne journée

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

Discussions similaires

  1. Problème de xlCellTypeLastCell dans Excel
    Par nicovoa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/01/2007, 21h10
  2. problème de date dans excel via vba.
    Par Bourezak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/12/2006, 13h39
  3. Problème de tri dans excel
    Par fabou3377 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/10/2006, 06h20
  4. PRoblème de formule dans Excel
    Par jbidou88 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 11/05/2006, 09h35
  5. Problème Visual Basic dans excel
    Par munited36 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/12/2005, 12h55

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