Encadrement cellule d'un tableau vba

max850 Messages postés 312 Statut Membre -  
max850 Messages postés 312 Statut Membre -
Bonsoir
Je voudrais encadrer automatiquement toutes les cellules d'un tableau de plusieurs colonnes à partir de la ligne 3 jusqu'à la dernière ligne écrite en vba
Qui peut m'aider ?
merci

Configuration: Windows / Chrome 77.0.3865.120

4 réponses

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Max, bonjour le forum,

    À question floue, réponse peu précise (et lycée de Versailles)... Essaie comme ça :
    Sub Macro1()
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim PL As Range 'déclare la variable PL (PLage)
    
    Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
    Set PL = O.Range("A1").CurrentRegion 'définit la plage PL (à adapter à ton cas)
    Set PL = PL.Offset(2, 0).Resize(PL.Rows.Count - 2, PL.Columns.Count) 'redéfinit la plage PL (sans les 2 premières lignes)
    'bodures simples
    With PL.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
    End With
    With PL.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
    End With
    With PL.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
    End With
    With PL.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
    End With
    With PL.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
    End With
    With PL.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
    End With
    End Sub

    0
  2. max850 Messages postés 312 Statut Membre 3
     
    Bonjour ThauTheme
    je vais essayer d'être un peu plus précis
    J'ai 8 colonnes . Les longueurs des colonnes sont variables ou peuvent être de même longueur.
    Je souhaiterais encadrer toutes les cellules y compris les vides des 8 colonnes en prenant comme base la colonne la plus longue autrement à partir de la dernière ligne où au moins une cellule de cette ligne contient des informations

    je voudrais essayer comme suit

    For derlig = 2 To .Cells(Rows.Count, 2).End(xlUp).Row pour chercher la dernière ligne non écrite
    for i = 1 to 8 pour rechercher la cellule non vide vide
    If .Cells(derlig, i).Value = <> "" then .....

    End If
    Next i
    mais ne suis pas sûr de ma démarche et ne sais pas comment la compléter
    0
  3. ThauTheme Messages postés 1564 Statut Membre 160
     
    Re,

    Le code que je t'ai proposé fonctionnera si le tableau commence en A1 et s'il il n'y a aucune ligne entièrement vide ou colonne entièrement vide dans ce tableau.

    Tu parles de la fin du tableau et ce qui m'importe c'est le début...
    Je sens que ce post va tourner en round tant que tu ne daigneras pas fournir un exemple... Voir par exemple avec https://www.cjoint.com/
    0
  4. max850 Messages postés 312 Statut Membre 3
     
    Bonjour ThauTheme
    Je viens de reprendre mon fichier auquel j'ai ajouté ta macro() et ça marche parfaitement.
    j'ai aussi la possibilité d'imprimer ma feuille inventaire via mon bouton d'édition.
    Ma question : lorsque j'ai ma fenêtre d'impression comment puis je revenir sur le menu principal
    si j'annule l'impression avec annule de la fenêtre impression?
    En tous les cas merci pour ton aide

    https://www.cjoint.com/c/IJFpPt4mzUu
    0