Encadrement cellule d'un tableau vba

Fermé
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 29 oct. 2019 à 22:48
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 31 oct. 2019 à 16:49
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 mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
30 oct. 2019 à 11:31
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 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
30 oct. 2019 à 12:46
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 mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
30 oct. 2019 à 13:41
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 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
31 oct. 2019 à 16:49
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