Macro qui met en forme une colonne : couleur + format de chiffre

MaxInpact

XLDnaute Nouveau
Bonjour,

Je voudrais ajouter dans une macro un code qui met en forme une colonne de mon tableau automatiquement : couleur et format de chiffres (euros sans virgule) : est-ce que quelqu'un peut me donner le code VBA ?

Informations complémentaires :
Endroit : début : colonne H à partir de la ligne 3 ; fin : quand il n'y a plus de chiffre
Couleur : vert clair
Format de chiffre : euros sans virgule

Merci pour votre aide.
 

link93

XLDnaute Occasionnel
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Bonjour, je ne sais si ça peut t'aider mais si c'est pour de la mise en forme passe peut être par l'enregistreur vba. C'est le bouton rouge.

A plus
 

MaxInpact

XLDnaute Nouveau
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Oui merci, c'est effectivement une idée. Par contre, j'ai peur qu'en passant par l'enregistreur de macro, je ne puisse pas avoir : mise en forme de la colonne tant qu'il y a un chiffre (notamment la couleur verte) : est-ce que je me trompe ?
 

JNP

XLDnaute Barbatruc
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Bonjour le fil :),
Code:
Dim DerLig As Long
DerLig = Range("H" & Rows.Count).End(xlUp).Row
With Range("H3:H" & DerLig)
    With .Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 5296274
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    .Style = "Currency"
    .NumberFormat = "_-* #,##0 $_-;-* #,##0 $_-;_-* ""-""?? $_-;_-@_-"
End With
Bonne journée :cool:
 

MaxInpact

XLDnaute Nouveau
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Alors je viens d'essayer : cela colorie bien la colonne H.. mais pas dans le bon onglet :(

Comment faire en sorte que cela fasse cela dans l'onglet "suivi détaillé d" (et non pas "perf" comme maintenant) ?

Merci !
 

MaxInpact

XLDnaute Nouveau
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Pour info, le code complet :

Sub DerniereValo_IFLC()

Worksheets("d").Activate


' renseigne les valo
Worksheets("perf").Activate
For i = 0 To 1000

If Range("B1").Offset(i, 0).Value <> 0 Then

'check liste d
For k = 1 To 500
If Range("B1").Offset(i, 0).Value = Range("iflc_ctt").Offset(k, 0).Value Then
Range("B1").Offset(i, 2).Value = Range("iflc_valo").Offset(k, 0).Value
End If
Next k
End If
Next i

' renseigne les valo
Worksheets("perf").Activate
For l = 0 To 1000

If Range("B1").Offset(i, 0).Value <> 0 Then

'check liste d
For m = 1 To 500
If Range("B1").Offset(l, 0).Value = Range("admin_contrat").Offset(m, 0).Value Then
Range("B1").Offset(l, 2).Value = Range("admin_valo").Offset(m, 0).Value
End If
Next m
End If
Next l

' renseigne les valo
Worksheets("perf").Activate
For n = 0 To 1000

If Range("B1").Offset(i, 0).Value <> 0 Then

'check liste d
For o = 1 To 500
If Range("B1").Offset(n, 0).Value = Range("iflc4_contrat").Offset(o, 0).Value Then
Range("B1").Offset(n, 2).Value = Range("iflc4_valo").Offset(o, 0).Value
End If
Next o

End If
Next n


Range("O1").Offset(0, 0).Value = "D:" & Date

Sheets("suivi détaillé d").PivotTables(1).RefreshTable

Dim DerLig As Long
DerLig = Range("H" & Rows.Count).End(xlUp).Row
With Range("H3:H" & DerLig)
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.Style = "Currency"
.NumberFormat = "_-* #,##0 $_-;-* #,##0 $_-;_-* ""-""?? $_-;_-@_-"
End With

End Sub
 

JNP

XLDnaute Barbatruc
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Re :),
En ajoutant la feuille dans le code :
Code:
Sub test()
Dim DerLig As Long
With Sheets("suivi détaillé d")
    DerLig = .Range("H" & Rows.Count).End(xlUp).Row
    With .Range("H3:H" & DerLig)
        With .Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 5296274
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        .Style = "Currency"
        .NumberFormat = "_-* #,##0 $_-;-* #,##0 $_-;_-* ""-""?? $_-;_-@_-"
    End With
End With
End Sub
Ça plairait à Jean-Marie, y a plein d'endives (humour réservé à Stapple :p)
Bon courage :cool:
 

MaxInpact

XLDnaute Nouveau
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Alors j'ai "Erreur de compilation : End Sub attendu" : du coup je l'ai ajouté là où il me disait, mais résultat, ta macro n'est plus exécuté ;)

Je mets le code complet, je pense que c'est plus simple pour toi que mes explications louches ;)

Code:
Sub DerniereValo_IFLC1()

Worksheets("d").Activate


' renseigne les valo
Worksheets("perf").Activate
For i = 0 To 1000
            
            If Range("B1").Offset(i, 0).Value <> 0 Then
                    
                    'check liste d
                    For k = 1 To 500
                            If Range("B1").Offset(i, 0).Value = Range("iflc_ctt").Offset(k, 0).Value Then
                            Range("B1").Offset(i, 2).Value = Range("iflc_valo").Offset(k, 0).Value
                            End If
                    Next k
            End If
Next i

' renseigne les valo
Worksheets("perf").Activate
For l = 0 To 1000
            
            If Range("B1").Offset(i, 0).Value <> 0 Then
                    
                    'check liste d
                    For m = 1 To 500
                            If Range("B1").Offset(l, 0).Value = Range("admin_contrat").Offset(m, 0).Value Then
                            Range("B1").Offset(l, 2).Value = Range("admin_valo").Offset(m, 0).Value
                            End If
                    Next m
            End If
Next l

' renseigne les valo
Worksheets("perf").Activate
For n = 0 To 1000
            
            If Range("B1").Offset(i, 0).Value <> 0 Then
                    
                    'check liste d
                    For o = 1 To 500
                            If Range("B1").Offset(n, 0).Value = Range("iflc4_contrat").Offset(o, 0).Value Then
                            Range("B1").Offset(n, 2).Value = Range("iflc4_valo").Offset(o, 0).Value
                            End If
                    Next o
                
            End If
Next n


Range("O1").Offset(0, 0).Value = "D:" & Date

Sheets("suivi détaillé d").PivotTables(1).RefreshTable

End Sub

Sub test()
Dim DerLig As Long
With Sheets("suivi détaillé d")
    DerLig = .Range("H" & Rows.Count).End(xlUp).Row
    With .Range("H3:H" & DerLig)
        With .Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 5296274
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        .Style = "Currency"
        .NumberFormat = "_-* #,##0 $_-;-* #,##0 $_-;_-* ""-""?? $_-;_-@_-"
    End With
End With

End Sub
 

JNP

XLDnaute Barbatruc
Re : Macro qui met en forme une colonne : couleur + format de chiffre

Re :),
Tout simplement là où tu l'avais mis la première fois, pour la tester, il fallait bien que je mette une sub :rolleyes:...
Code:
Sub DerniereValo_IFLC1()
 
Worksheets("d").Activate
 
 
' renseigne les valo
Worksheets("perf").Activate
For i = 0 To 1000
 
If Range("B1").Offset(i, 0).Value <> 0 Then
 
'check liste d
For k = 1 To 500
If Range("B1").Offset(i, 0).Value = Range("iflc_ctt").Offset(k, 0).Value Then
Range("B1").Offset(i, 2).Value = Range("iflc_valo").Offset(k, 0).Value
End If
Next k
End If
Next i
 
' renseigne les valo
Worksheets("perf").Activate
For l = 0 To 1000
 
If Range("B1").Offset(i, 0).Value <> 0 Then
 
'check liste d
For m = 1 To 500
If Range("B1").Offset(l, 0).Value = Range("admin_contrat").Offset(m, 0).Value Then
Range("B1").Offset(l, 2).Value = Range("admin_valo").Offset(m, 0).Value
End If
Next m
End If
Next l
 
' renseigne les valo
Worksheets("perf").Activate
For n = 0 To 1000
 
If Range("B1").Offset(i, 0).Value <> 0 Then
 
'check liste d
For o = 1 To 500
If Range("B1").Offset(n, 0).Value = Range("iflc4_contrat").Offset(o, 0).Value Then
Range("B1").Offset(n, 2).Value = Range("iflc4_valo").Offset(o, 0).Value
End If
Next o
 
End If
Next n
 
 
Range("O1").Offset(0, 0).Value = "D:" & Date
 
Sheets("suivi détaillé d").PivotTables(1).RefreshTable
Dim DerLig As Long
With Sheets("suivi détaillé d")
DerLig = .Range("H" & Rows.Count).End(xlUp).Row
With .Range("H3:H" & DerLig)
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.Style = "Currency"
.NumberFormat = "_-* #,##0 $_-;-* #,##0 $_-;_-* ""-""?? $_-;_-@_-"
End With
End With
 
End Sub
Bon courage :cool:
 

Discussions similaires

Statistiques des forums

Discussions
315 261
Messages
2 117 857
Membres
113 354
dernier inscrit
caillet