OVH Cloud OVH Cloud

encadrement de données automatique

5 réponses
Avatar
JACK 43
Bonsoir,

J'ai des données sur 4 colonnes A,B,C,D en revanche le nombre de lignes
peuvent être sur un nombre chaque fois différent.

Je voudrait encadrer mes données d'une façon automatique dans ce classeur
sur les colonnes ABCD et pour les lignes à partir de la ligne 30 jusqu'à la
dernière ligne où il y a des données.

MERCI de votre aide A+

5 réponses

Avatar
Patrick BASTARD
Bonjour, *JACK 43*

Ca, la mise en forme conditionnelle sait faire :
Sélectionne ta zone (A30 à Dxxx)
Format, Mise en forme conditionnelle,
La formule est
=NBVAL($A30:$D30)<>0
et avec l'onglet format, choisis la mise en forme (Bordure)

Cela te convient-il ?


--
Bien amicordialement,
P. Bastard

Bonsoir,

J'ai des données sur 4 colonnes A,B,C,D en revanche le nombre de
lignes peuvent être sur un nombre chaque fois différent.

Je voudrait encadrer mes données d'une façon automatique dans ce
classeur sur les colonnes ABCD et pour les lignes à partir de la
ligne 30 jusqu'à la dernière ligne où il y a des données.

MERCI de votre aide A+


Avatar
Patrick BASTARD
Rectificatif , avant que les skuds ne pleuvent :
=NBVAL($A30:$D30)>0
suffit, car on voit rarement un nbval négatif.
;-)

--
Bien amicordialement,
P. Bastard



Bonjour, *JACK 43*

Ca, la mise en forme conditionnelle sait faire :
Sélectionne ta zone (A30 à Dxxx)
Format, Mise en forme conditionnelle,
La formule est
=NBVAL($A30:$D30)<>0
et avec l'onglet format, choisis la mise en forme (Bordure)

Cela te convient-il ?



Bonsoir,

J'ai des données sur 4 colonnes A,B,C,D en revanche le nombre de
lignes peuvent être sur un nombre chaque fois différent.

Je voudrait encadrer mes données d'une façon automatique dans ce
classeur sur les colonnes ABCD et pour les lignes à partir de la
ligne 30 jusqu'à la dernière ligne où il y a des données.

MERCI de votre aide A+




Avatar
Michel Gaboly
Bonsoir,

Voici une méthode.

J'ai considéré qu'il n'y a pas nécessairement quelque chose dans chaque
colonne à chaque ligne.

Le code commence par déterminer la dernière ligne des colonnes A à D, et
détermine le plus grand numéro de ligne.

Un encadrement est ensuite mis en place.

Pour l'encadrement, affine en fonction de ce que tu veux, et t'inspirant
de l'enregistrement automatique.


Sub Toto()
Dim i As Integer, DerLigne As Long, NumLigne As Long
With Range("A65536")
For i = 0 To 3
NumLigne = .Offset(0, i).End(xlUp).Row
DerLigne = IIf(NumLigne > DerLigne, NumLigne, DerLigne)
Next
End With
Range("A30:D" & DerLigne).Borders.LineStyle = xlContinuous
End Sub


Bonsoir,

J'ai des données sur 4 colonnes A,B,C,D en revanche le nombre de lignes
peuvent être sur un nombre chaque fois différent.

Je voudrait encadrer mes données d'une façon automatique dans ce classeur
sur les colonnes ABCD et pour les lignes à partir de la ligne 30 jusqu'à la
dernière ligne où il y a des données.

MERCI de votre aide A+



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
JB
Bonjour,

Solution1:

S'il n'y a qu'une ligne de discontinuité:

Sélection du champ puis Format/Mise Forme cond/Formule:

=OU(NBVAL($A30:$d30)>0;NBVAL($A31:$d31)>0)

Solution2:

Sélection du champ puis puis Format/Mise Forme cond/Formule:

=LIGNE()-30<nblignechamp($A$30:$D$30)

Dans un module:

Function NbLigneChamp(c As Range)
m = 0
For Each i In c
m = IIf(Cells(65000, i.Column).End(xlUp).Row > m, Cells(65000,
i.Column).End(xlUp).Row, m)
Next i
NbLigneChamp = m - c.Row + 1
End Function

Cordialement JB
Avatar
JB
La fonction NbLigneChamp(c As Range) peut être simplifiée


Function NbLigneChamp(c As Range)
NbLigneChamp = c.Rows.Count
End Function

JB