mise en forme tableau par macro

fredalien

XLDnaute Junior
Bonjour à tous,

et encore félicitations pour ce site qui est une bible pour les "novices" comme moi!!:)

voici mon soucis:

j'exporte chaque semaine des données commerciales d'un logiciel de gestion de production vers un tableau excel, je souhaiterais le mettre en forme grâce à une macro (demande de mon supérieur!!).

la mise en forme implique de figer les volets et de passer les données qui sont exportées de 2 décimales à aucune.

je précise que le tableau suivant les extractions ne fera jamais le même nombre de colonnes ni de lignes!!:eek:

je vous joint le fichier d'origine et le fichier mis en forme.

quelqu'un pourrait-il m'aider svp car je ne sais pas écrire de macro!!:(
 

Pièces jointes

  • StatistiquesVentes.xls
    31.5 KB · Affichages: 59
  • StatistiquesVentes final.xls
    31.5 KB · Affichages: 66

mromain

XLDnaute Barbatruc
Re : mise en forme tableau par macro

bonjour fredalien

essaye avec cette macro :
VB:
Sub MiseEnForme()
Dim zonePrix As Range
    
    'récupérer la zone comprenant toutes les données
    Set zonePrix = ActiveSheet.Range("C3").CurrentRegion
    'enlever les 3 premières lignes ainsi que les 3 premières colonnes
    Set zonePrix = zonePrix.Offset(3, 3).Resize(zonePrix.Rows.Count - 3, zonePrix.Columns.Count - 3)
    
    'modifier le format
    zonePrix.NumberFormat = "$#,##0_);($#,##0)"
    
    'figer les volets
    zonePrix(1, 1).Select
    ActiveWindow.FreezePanes = True
    
    zonePrix.Select
End Sub
a+
 
Dernière édition:

fredalien

XLDnaute Junior
Re : mise en forme tableau par macro

heu juste un ptit truc!!

j'ai un titre sur trois lignes qui apparait lors du transfert de données, la modif ce serait quoi?

je t'envoies le fichier en restreint car trop gros avec la macro mais c'est juste pour te montrer

merci d'avance mromain

fred
 

Pièces jointes

  • restreint.xls
    16.5 KB · Affichages: 62

mromain

XLDnaute Barbatruc
Re : mise en forme tableau par macro

Re,

Essaye avec ceci :
VB:
Sub MiseEnForme()
Dim zonePrix As Range
    
    'récupérer la zone comprenant toutes les données
    Set zonePrix = ActiveSheet.Range("C6").CurrentRegion
    'enlever les premières lignes ainsi que les 3 premières colonnes
    Set zonePrix = zonePrix.Offset(4, 3).Resize(zonePrix.Rows.Count - 4, zonePrix.Columns.Count - 3)
    
    'modifier le format
    zonePrix.NumberFormat = "$#,##0_);($#,##0)"
    
    'figer les volets
    zonePrix(1, 1).Select
    ActiveWindow.FreezePanes = True
    
    zonePrix.Select
End Sub
a+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 230
Messages
2 086 427
Membres
103 207
dernier inscrit
Michel67