Encadrement cellule d'un tableau vba

max850 Messages postés 304 Date d'inscription   Statut Membre Dernière intervention   -  
max850 Messages postés 304 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   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
max850 Messages postés 304 Date d'inscription   Statut Membre Dernière intervention   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
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   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
max850 Messages postés 304 Date d'inscription   Statut Membre Dernière intervention   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