Mise en page sur VBA

tiestof -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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.

2 réponses

  1. Utilisateur anonyme
     
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    petite astuce pour simplifier la lise en forme

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