Encadrement cellule d'un tableau vba

Signaler
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
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

Messages postés
1400
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
16 avril 2020
139
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

Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
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
Messages postés
1400
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
16 avril 2020
139
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/
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
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