Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

  • Initiateur de la discussion Initiateur de la discussion MaxInpact
  • Date de début Date de début

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
 

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 )
Bon courage
 

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 ...
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…