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 :

Mise en forme cellules suivant condition [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Points : 149
    Points
    149
    Par défaut Mise en forme cellules suivant condition
    Bonjour
    j'ai un tableau de U3 a Y67,dans U3 a U67, j'ai des valeurs 7101 7102 etc
    je souhaiterais si les cellules W3 - X3 = 1 semaine mettre la cellules U3 de couleur 65535 jaune.
    si W3 - X3 = 2 semaines cel U3= col 10092390 vert
    si W3 - X3 = 3 semaines cel U3= col 16777062 bleu clair
    si W3 - X3 = 4 semaines cel U3= col 12497879 gris
    a integrer dans mon 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
    44
    45
    Private Sub CommandButton2_Click()
    Dim DerLigS As Long
    Dim MaRech As Range, CelFin As Range
    Application.ScreenUpdating = False
     
    If Me.Numero.Value <> "" Then
        With Sheets("AR-Base")
            DerLigS = .Cells(.Rows.Count, 21).End(xlUp).Row
            Set MaRech = .Range("U3:U" & DerLigS).Find(Me.Numero.Value, LookIn:=xlValues, LookAt:=xlWhole)
            If Not MaRech Is Nothing Then
                'On décale les cellules à partir de C vers la droite
                '.Range("C" & MaRech.Row).Insert xlShiftToRight
                'La dernière cellule de la ligne MaRech.Row
                'Set CelFin = .Cells(MaRech.Row, .Columns.Count).End(xlToLeft)
                'En B on insère la formule
                '.Range("V" & MaRech.Row).Formula = "=CountA(V" & MaRech.Row & ":" & CelFin.Address(0, 0) & ")"
                Set CelFin = Nothing
                'On écrit en C notre texte et on applique la mise en forme
                With .Range("W" & MaRech.Row)
                    .Value = CDate(DTPicker1.Value)
                    .Font.Name = "Arial"
                    .Font.Size = 12
                    .Borders.LineStyle = xlContinuous
                End With
                With .Range("V" & MaRech.Row)
                    .Value = Me.TextBox1.Value
                    .Font.Name = "Arial"
                    .Font.Size = 14
                    .Borders.LineStyle = xlContinuous
                End With
                With .Range("X" & MaRech.Row)
                    .Value = CDate(DTPicker2.Value)
                    .Font.Name = "Arial"
                    .Font.Size = 12
                    .Borders.LineStyle = xlContinuous
                End With
                Set MaRech = Nothing
            End If
        End With
        Me.TextBox1.Value = ""
        [W3] = DTPicker1.Value
     
    Application.ScreenUpdating = True
    End If
    End Sub
    et passer a la ligne suivante jusqu'a la derniere ligne
    cris

    personne a une petite idee, pour avance dans mon code svp
    cris

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Ajoute ces lignes à la fin de la macro (avant le "End With") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                Select Case .Range("W" & MaRech.Row) - .Range("X" & MaRech.Row)
                    Case 7
                        .Range("U" & MaRech.Row).Interior.Color = 65535
                    Case 14
                        .Range("U" & MaRech.Row).Interior.Color = 10092390
                    Case 21
                        .Range("U" & MaRech.Row).Interior.Color = 16777062
                    Case 28
                        .Range("U" & MaRech.Row).Interior.Color = 12497879
                End Select

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

Discussions similaires

  1. [XL-2003] Mise en forme conditinnel suivant cellule adjacente
    Par denys30 dans le forum Excel
    Réponses: 8
    Dernier message: 17/11/2014, 19h02
  2. Réponses: 16
    Dernier message: 11/12/2013, 11h20
  3. [XL-2003] Mise en forme conditonelle suivant valeur cellule supérieure
    Par jamesleouf dans le forum Excel
    Réponses: 3
    Dernier message: 09/04/2013, 16h09
  4. Mise en forme cellule et condition
    Par Shadow5 dans le forum Excel
    Réponses: 1
    Dernier message: 21/03/2008, 10h56
  5. Mise en forme conditionnelle sur condition
    Par rimbaut dans le forum Excel
    Réponses: 3
    Dernier message: 09/08/2007, 08h43

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