Macro et mise en page

syl51100

XLDnaute Nouveau
je débute dans le VBA et j'essai de mettre en forme une macro de mise en page un tableau de 25 colonne et 600 lignes, je rencontre une difficulté sur le bouclage de la macro car j'ai les mêmes fonction qui se repetent et j'aimerai alleger ma macro . Comment Faire ? je joins le fichier concerné
 

Pièces jointes

  • test macro.xlsm
    220.7 KB · Affichages: 49
  • test macro.xlsm
    220.7 KB · Affichages: 66
  • test macro.xlsm
    220.7 KB · Affichages: 55

Grand Chaman Excel

XLDnaute Impliqué
Re : Macro et mise en page

Bonsoir syl51100 et bienvenue sur le forum,

Ouf! Ta macro est trèèèès longue....
Que veux-tu faire exactement? Peux-tu joindre un exemple de ta feuille avant la mise en page et ta feuille après la mise en plage de façon à ce qu'on puisse comprendre ce que tu veux faire.
J'ai regardé ta macro en diagonale... tu sembles faire la mise en forme une cellule à la fois (A3, B3, C3, A4, B4, etc...). Pourquoi ne pas le faire sur un groupe de cellules? Pourquoi faire la mise en forme uniquement si ta cellule n'est pas vide?

À clarifier.
 

syl51100

XLDnaute Nouveau
Re : Macro et mise en page

en fait j'aimerai mettre en forme un tableau taper au kilometre avec :
1 - si presence d'un grand I ou II ou... dans la colonne A - mettre en gras et souligné le texte dans la colonne E jusqu'à ligne 600
2- si presence d'un petit I.1 ou II.1 ou... dans la colonne B - mettre en gras et souligné le texte dans la colonne F jusqu'à ligne 600
3- si presence d'un petit I.1.1 ou II.1.1 ou... dans la colonne c - mettre en non-gras et non-souligné le texte dans la colonne H jusqu'à ligne 600
4- si presence d'un petit I.1.st ou II.2.st ou... dans la colonne d - mettre en gras et souligné le texte dans la colonne G jusqu'à ligne 600
5- ensuite mettre en font.size = 12 les case de i à z dans toutes les lignes de R3 à R600
6- masquer les colonne L ; N ; P ; Q ; T:X

je n'arrive pas a comprendre comment realiser une boucle de macro avec la macro de mise en forme pour m'eviter toutes ces lignes inutiles.

Encore merci d
 

Pièces jointes

  • test macro avant.xlsm
    227.7 KB · Affichages: 37
  • test macro apres.xlsm
    223.6 KB · Affichages: 32

syl51100

XLDnaute Nouveau
Re : Macro et mise en page

en fait j'aimerai mettre en forme un tableau taper au kilometre avec :
1 - si presence d'un grand I ou II ou... dans la colonne A ligne 3- mettre en gras et souligné le texte dans la colonne E ligne3 jusqu'à ligne 600
2- si presence d'un petit I.1 ou II.1 ou... dans la colonne B ligne 3- mettre en gras et souligné le texte dans la colonne F ligne 3 jusqu'à ligne 600
3- si presence d'un petit I.1.1 ou II.1.1 ou... dans la colonne c ligne 3- mettre en non-gras et non-souligné le texte dans la colonne H ligne 3 jusqu'à ligne 600
4- si presence d'un petit I.1.st ou II.2.st ou... dans la colonne d ligne 3- mettre en gras et souligné le texte dans la colonne G ligne 3 jusqu'à ligne 600
5- ensuite mettre en font.size = 12 les case de i à z dans toutes les lignes de R3 à R600
6- masquer les colonne L ; N ; P ; Q ; T:X

je n'arrive pas a comprendre comment realiser une boucle de macro avec la macro de mise en forme pour m'eviter toutes ces lignes inutiles.

Encore merci d
 

Grand Chaman Excel

XLDnaute Impliqué
Re : Macro et mise en page

Bonjour syl51100

Merci pour tes explications et les fichiers, c'est déjà plus clair ainsi. Je te propose la macro ci-dessous.
Je ne pense pas que tu aies besoin de faire une boucle avec une tonne de conditions. En effet, tu peux modifier le format de plusieurs cellules en même temps en choisissant une plage et aussi, d'après les fichers que tu as envoyés, je crois qu'il est plus simple de mettre toute les colonnes A à D en gras et E à G en gras souligné. À moins qu'il y a ait du texte qui ne doit pas avoir ce format et qui apparaîtra dans ces colonnes. Si c'est le cas, ton fichier ne le montrait pas.

Essaie-la macro ci-dessous, le résultat devrait être proche de ce que tu veux.

Note : il te restera à mettre le symbole Euro dans au lieu de $ car je ne l'ai pas trouvé sur mon clavier... :eek:

VB:
Sub MiseEnPage()

    Application.ScreenUpdating = False  'bloque le raffraichissement de l'écran pendant la macro

    With ActiveSheet    'avec la feuille active
        .Rows(1).Font.Bold = True   'Ligne 1 en gras
        
        .Range("A2:D600").Font.Bold = True  'Colonne A à D en gras
        .Range("E2:G600").Font.Bold = True  'colonnes E à G en gras
        .Range("E2:G600").Font.Underline = True 'Colonnes E à G souligné
    
        .Range("I2:Z600").Font.Size = 12    'taille de caractère
        
        'Cacher les colonnes
        .Columns("L:L").ColumnWidth = 0
        .Columns("N:N").ColumnWidth = 0
        .Columns("P:P").ColumnWidth = 0
        .Columns("Q:Q").ColumnWidth = 0
        .Columns("T:X").ColumnWidth = 0
        
        'Format monétaire
        .Range("K2:K600").NumberFormat = "#,##0.00 $"
        .Range("R2:R600").NumberFormat = "#,##0.00 $"
        .Range("Y2:Z600").NumberFormat = "#,##0.00 $"
        
        'Format décimal
        .Range("M2:M600").NumberFormat = "0.000"
        .Range("O2:O600").NumberFormat = "0.000"
        .Range("S2:S600").NumberFormat = "0.000"
        
        'Centrer les colonnes I et J
        .Range("I2:J600").HorizontalAlignment = xlCenter
    
    End With
    
    Application.ScreenUpdating = True
End Sub

A+
 

syl51100

XLDnaute Nouveau
Re : Macro et mise en page

Re bonjour
Je remercie tous ceux qui m'ont aidés à finaliser ma macro de mise en page.
Maintenant j'aimerai savoir si c'est possible de creer une macro pour effectuer des sommes dans une colonne pour des sous totauxqui sont ramenés par une fonction recherche je met en exemple un tableau plus explicite.

Tout ce qui est de couleur verte est rapporter par une fonction recherchev d'une autre feuille
Tout ce qui est de couleur jaune me permet de masquer certaine ligne et d'en mettre d'autre en gras
en bleu ce serait la colonne ou je souhaite faire les dites sommes, mais etant des endroit plus qu'aléatoire je cale sur la programmation vba,.

toutes les donnees des tableaux sont factices.

merci de toute aide qui pourrait m'avancer sur cette programmation.
 

Pièces jointes

  • Classeur2.xlsm
    29.3 KB · Affichages: 43
  • Classeur2.xlsm
    29.3 KB · Affichages: 46
  • Classeur2.xlsm
    29.3 KB · Affichages: 40

Discussions similaires

Réponses
12
Affichages
265

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas