Macro bordure, mise en forme

warrio

XLDnaute Nouveau
Bonjour a tous,
Grace à l'aide que j'ai eu dans ce forum j'ai pu avancer dans ma macro,
et la je bloque: j'ai un fichier qui rempli mon tableau et ajoute des ligne en fonction de certain criteres dans différents onglets.

Dans le fichier ci-joint, je voudrais que lors de l'execution de la macro il me fasse une bordure sur la derniere ligne (qui vient d'être rempli) de chaque onglet.
Actuellement la macro ne s'execute que dans le 1er onglet.

Merci
 

Pièces jointes

  • excelforum.xls
    47 KB · Affichages: 118

mromain

XLDnaute Barbatruc
Re : Macro bordure, mise en forme

Bonjour warrio,

voici une solution avec une MFC (donc sans macro).

a+
 

Pièces jointes

  • Classeur1.xls
    25 KB · Affichages: 120
  • Classeur1.xls
    25 KB · Affichages: 133
  • Classeur1.xls
    25 KB · Affichages: 127

Efgé

XLDnaute Barbatruc
Re : Macro bordure, mise en forme

Bonjour warrio, mromain
Le module 1 de votre classeur fait déja la mise en forme en enlevant les .
Code:
MiseEnForme .Range([COLOR=red][B].[/B][/COLOR]Cells(c.Row, 1), [COLOR=red][B].[/B][/COLOR]Cells(c.Row, 8))
Donc :
Code:
MiseEnForme .Range(Cells(c.Row, 1), Cells(c.Row, 8))
Cordialement
 

warrio

XLDnaute Nouveau
Re : Macro bordure, mise en forme

Merci de votre aide,
Cependant cela ne résout pas mon problème :
Au départ j’ai des tableaux qui me remplisse celui-ci en ajoutant des lignes dans les différents onglets, après chaque ajout de lignes, la macro1 fait appel a celle-ci, c’est pourquoi je voudrais qu’elle agisse sur chacun des onglets.

mromain :
J'étais aussi parti sur une MFC au départ, mais étant limité à 3, et sachant que j'en ai plus a faire j’ai voulu passer par une macro, ça me permet également de rajouter des conditions en cas de besoins.
Dans l'exemple j'ai pas mis toutes les mises en forme que j'ai à faire, j'ai simplifié avec une bordure, je rajouterais les autres conditions quand j’aurais finaliser la macro.
(En réalité j’ai des conditions de police, de couleur de cellules et de police, en fonction des résultats)

Efgé :
Concernant la macro, je sais qu'elle réalise la mise en forme.
Cependant je voudrais que la macro applique la mise en forme demandée sur tous les onglets ou des valeurs ont été ajoutées lors de l'exécution de la macro.

Donc si vous avez des idées je Preneur
Salutations
 

Efgé

XLDnaute Barbatruc
Re : Macro bordure, mise en forme

Re
Sans voir le déroulement de la macro, difficile de comprendre (enfin, pour moi); mais si vous mettez
Set sh1 = ActiveSheet
Le code s'appliquera à toutes les feuilles que vous activez.
Code:
Sub LignesEcritures()
Dim c As Range 'Cellules à partir de laquelle les valeurs seront ecrites
Set sh1 = ActiveSheet
With sh1
'Récupération de la prochaine cellule vide de la colonne c
Set c = .Range("A" & .Rows.Count).End(xlUp).Offset(0)
' Chargement du tableau des valeurs
' à partir des cellules qui contiennent les valeurs
MiseEnForme .Range(Cells(c.Row, 1), Cells(c.Row, 8))
End With
End Sub
Sans toucher à MiseEnForme
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Macro bordure, mise en forme

Bonsoir à tous


Une simplification possible qui donne le même résultat que la macro initiale

Code:
Private Sub MiseEnForme(Cellules As Range)
On Error GoTo FinMiseEnForme
Cellules.Borders.LineStyle = xlContinuous
FinMiseEnForme:
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote