Mise en page sur VBA

Fermé
tiestof - 28 févr. 2012 à 16:26
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 29 févr. 2012 à 10:02
Bonjour,
Je voudrais mettre en page automatiquement les lignes qui contiennent des valeurs dans un tableau que je récupère depuis un autres fichier. En fait sur ma macro j'ai fait des copier coller entre mon fichier de départ et mon fichier de destination, mais à la fin je souhaite mettre les cellules du fichier finale sous un format identique.

Sachant que le nombre de ligne est variable à chaque fois que j'exécute ma macro. Je voudrais donc savoir comment dire dans ma macro de ne selectionner que les cellules qui contiennent des valeurs et les mettre en rouge et encadré par exemple.
. pour avoir à la fin un tableau au bon format tout en gardant les cellules vides au format normal.

Merci.


A voir également:

2 réponses

Utilisateur anonyme
28 févr. 2012 à 20:42
Bonjour,

Exemple type :

Sub Couleur()

    Dim Rng As Range
    Dim Bte As Range
    
    Set Bte = ActiveSheet.UsedRange
    
    For Each Rng In Bte
        
        If (Rng.Value <> "") Then
            With Rng
                .Interior.ColorIndex = 3
                .Borders(xlEdgeLeft).LineStyle = xlContinuous
                .Borders(xlEdgeLeft).Weight = xlMedium
                .Borders(xlEdgeTop).LineStyle = xlContinuous
                .Borders(xlEdgeTop).Weight = xlMedium
                .Borders(xlEdgeBottom).LineStyle = xlContinuous
                .Borders(xlEdgeBottom).Weight = xlMedium
                .Borders(xlEdgeRight).LineStyle = xlContinuous
                .Borders(xlEdgeRight).Weight = xlMedium
            End With
        End If
        
    Next Rng
        
End Sub
'


Cdt

Lupin
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
29 févr. 2012 à 10:02
Bonjour,

petite astuce pour simplifier la lise en forme

With Rng
          .Interior.ColorIndex = 3
          .Borders.Weight = xlMedium
End With
0