Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Rust
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

Rust

Guest
bonsoir,

j'aimerais savoir s'il est possible de faire en sorte que la dernière ligne de mon tableau de la page ait automatiquement une bordure en bas ? C'est-a dire que si j'insère une ligne, la bordure ne descend pas d'une ligne pour finalement se retrouver en bas de la page.

Et aussi, j'aimerais savoir comment faire pour que le fond des cases soient grisées, mais seulement une ligne sur deux. Meme problème que précedemment, si j'insère une ligne je me retrouve avec deux lignes non grisées, ou l'inverse.

Merci de votre
 
Re : bordures

Bonsoir Rust, le forum,

Pour ta seconde question, un :

MOD(LIGNE();2)=0, ton format en couleur (gris) dans Format -> Mise en forme Conditionnelle et la Formule est :

devrait faire l'affaire.
La première, avec la bordure doit être du même genre mais je n'ai pas essayé. Donc à voir. Il n'y a pas de raison.....

Tu reviens et tu nous dis.

Bonne soirée ou nuit, selon,


Jean-pierre
 
Dernière édition:
Re : bordures

Bonsoir rust et jean pierre ou plutot bonne nuit si vous dormez déja.
Pinaise que je fais encore la ... $-/

J'ai déja traité ces 2 problemes avec les MFC + les formules du genre ke ta donné Jean pierre.

L'idée est de dire que la formule pour la ligne en cours est :
Grisée si elle est paire ou pas si elle est impaire.

Ensuite pour la derniere ligne c du genre :
Si la ligne suivante est vide ou different de rien alors mettre tel mise en forme en l'occurence une bordure en bas de la cellule.

Bon la sur le coup je m'en souviens pas trop mé jspr t'avoir mis sur la piste.

Ciao ciao
 
Re : bordures

Salut Rust, le Forum,

Pour avoir une ligne uniquement à la dernière ligne d'un tableau :

- Sélectionner le tableau

- Format - Mise en Forme Conditionnelle - la formule est :

=ET(NBVAL($A1:$J1);NBVAL($A2:$J2)=0)

Dans le cas présent, le tableau va de A1 à J...

A adapter à ton tableau.

Reviens si pb

@+
 
Re : bordures

Bonjour rust, jeanpierre, tibo et le forum.


Pour griser une ligne sur deux, 2 conditions

Premièrement, je teste la parité (paire ou impaire) de la ligne encours.
Prenons un exemple,
admettons que je suis sur la 3 ème ligne

d'un coté
Je divise "3" par 2 ce qui donne 1,5
je rajoute 0,5 ce qui donne 2
je prends la partie entiere de 2, résulat = 2

de l'autre
je divise tout simplement "3" par 2 résultat = 1,5

enfin je compare mes 2 résulats et je conclue que
"2 est différent de 1,5 donc "3" est impaire " CQFD.

Deuxiement je considère qu'il faille que la première colonne soit renseignée,
en 3ème ligne, il faut que la cellule [A3] soit renseignée.

Voici les formules que j'utilise dans la Mise en Forme Conditionnelle:
LIGNE() donne le numéro de ligne d'une référence
ENT() définit la partie entière d'un nombre.
ET() compare 2 valeurs et retourne Vrai si elles sont différent de rien (0)


Si elle est impaire
=SI(ET(ENT(LIGNE()/2+0,5) <> LIGNE()/2;$A3<>"");VRAI;FAUX)
Alors j'applique un format simple autrement dit je ne fais qu'encadrer la cellule.

Si elle est paire
=SI(ET(ENT(LIGNE()/2+0,5) = LIGNE()/2;$A3<>"");VRAI;FAUX)

Une fois que c'est fait je sélectionne ma celulle [A3] que je copie
et je colle le format partout ou je veux appliquer cette MFC.
Comme je suis prévoyant lol car mon tableau risque de s'agrandir, je recopie mon format à 500 lignes et le tour et joué.

Je joint un exemple pour visualiser le résultat.

Bien a vous ;-)
 

Pièces jointes

Re : bordures

Salult Alyrio,

Pour colorier une ligne sur 2, tu peux reprendre dans la MFC la formule proposée par Jean-Pierre :

=MOD(LIGNE();2)=0

que l'on peut raccourcir en :

=MOD(LIGNE();2)

Dans cette dernière formule, Excel va retourner 1 ou 0. Excel va interpréter le 0 comme FAUX et le 1 comme VRAI.

Si VRAI Excel applique la MFC, si FAUX, Excel ne l'applique pas.

A savoir : dans une MFC, il n'est pas nécessaire d'utiliser les tests =SI(....

Voilou

@+
 
Re : bordures

je vous remercie,

j'ai reusssi à grisé une ligne sur deux.
Par contre, pour la bordure j'ai du mal m'exprimer.
En fait ce que je veux ce n'est pas qu'il y ait une bordure a la fin du tableau, mais que si le tableau fait plusieurs page, alors il se ferme a la fin de chaque page.
 
Re : bordures

Bonjour a tous,

Un premier essai par macro evenementielle car tout ces formuliste me donnent la migraine🙄 . Si ca t'interesse j'essairai de la modifier pour ce qu'elle fasse ce que tu souhaites pour toutes tes pages.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&
'admettant que ta première ligne soit une ligne contenant des libellés
For i = 2 To Range("A65536").End(xlUp).Row Step 2
    'admettant que ton tableau soit entre les colonnes A et E
    Range("A" & i & ":E" & i).Interior.ColorIndex = 15
    Range("A" & i - 1 & ":E" & i - 1).Interior.ColorIndex = xlNone
Next i
derlign = Range("A65536").End(xlUp).Row
Range("A" & derlign - 1 & ":E" & derlign - 1).Borders(xlEdgeBottom).LineStyle = xlNone
Range("A" & derlign & ":E" & derlign).Borders(xlEdgeBottom).LineStyle = xlContinuous
End Sub

Par contre je pense qu'il nous faudrait plus d'explications concernant tes tableaux pouvant etres sur plusieurs pages. Peut etre qu'un fichier joint serai le bienvenue.

@+
 
Re : bordures

Salut
Petite macro que tu peux adapter à ton cas :
A1:A100 = "A" (pour qu'Excel ait de quoi imprimer
PHP:
Sub Macro1()
Dim X As Integer
Dim Y As Long
For X = 54 To 60
    If ActiveSheet.Rows(X).PageBreak <> ActiveSheet.Rows(X + 1).PageBreak Then
        Y = ActiveSheet.Rows(X).PageBreak
        Y = ActiveSheet.Rows(X + 1).PageBreak
    End If
Next
'ligne 1 à 56 Y=-4142 pas de saut de page
'ligne 57     y=-4105 saut de page horizontal automatique
'ligne 59     y=-4135 saut de page horizontal manuel
End Sub
je l'execute en mode Pas-à-pas avec F8 pour voir

Donc le saut de page est au-dessus de la ligne qui contient un code PageBreak différent de -4142
À toi de t'amuser à l'adapter à tes besoins
A+
 
Dernière édition:
Re : bordures

comme demandé, je joins un fichiers, toutes les explications sont dedans.
Je tiens a préciser que je ne connais que très peu excel, par exemple je ne sais pas utiliser les macros.
Merci de votre aide
 

Pièces jointes

Re : bordures

Rust à dit:
comme demandé, je joins un fichiers, toutes les explications sont dedans.
Je tiens a préciser que je ne connais que très peu excel, par exemple je ne sais pas utiliser les macros.
Merci de votre aide
Salut
Colonne F, G et H : menu Format>>Format de cellule>>Nombre>>Personnalisé
Tu as le format : # ##0,00\ _€;-# ##0,00\ _€
Ajoute ";" pour le transformer en # ##0,00\ _€;-# ##0,00\ _€;
Tes valeurs à 0 disparaitront

Autre manière de faire : masquer les lignes dont la valeur en H est nulle
A+
 

Pièces jointes

Dernière édition:
Re : bordures

merci, c'est vrai que ca fait plus propre sans les 0.
Mais le problème est que tu as mis des bordures a chaque ligne, or je veux justement qu'il n'y en ai pas, excepté sur la dernière ligne de chaque page.

Et pourrais tu m'expliquer comment tu fais pour creer le bouton qui fais disparaitre toutes les lignes qui sont vides ?

Edit: je viens d'ailleurs de remarquer que toutes les lignes dont la valeur en H est nulle ne s'efface, mais uniquement celle qui se trouvent en dessous de la dernière ligne remplie
 
Dernière modification par un modérateur:
Re : bordures

Re-salut
Désolé, j'ai fait la manip ey après, j'ai oublié de modifier :
Macro_R_A_Z()
tu transforme la fin de la macro
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlNone
' .Weight = xlThin
' .ColorIndex = xlAutomatic
End With
End Sub

Si tu veux supprimer les séparations verticales, tu fait la même chose sur la séquence With Selection.Borders(xlInsideVertical)

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
23
Affichages
680
Réponses
4
Affichages
310
W
Réponses
16
Affichages
507
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…