Mise en page conditionnée depuis une cellule

Bonjour à tous,

Voici mon problème, je suis sur une modélisation mais j'ai un problème que je n'arrive pas à résoudre.

Voilà, je cherche à faire une mise en page conditionnée depuis une cellule en particulier (celle en rouge) dans mon excel, cette cellule détermine le nombre d'année de mes cashflows et génère automatiquement toutes les autres cellules nécessaires pour obtenir mon tri.

Comme vous pouvez le voir mon tableau quand le nombre d'année est de 15 il correspond bien. Cependant je souhaiterai que quand je mets exemple 5 (comme sur l'image 2) ,6,7 etc excel comprend qu'il faut décaler ma bordure juste après l'année en question.

Je sais pas si ma question est compréhensible, mais je vous remercie d'avance de votre aide,

ci joint des photos pour essayer de mieux illustrer

capture 2 capture

Bonjour,

Serait-il possible d'avoir un fichier d'exemple? ce sera plus facile pour proposer une solution.

Cordialement

Bonjour,

Je vous remercie de prendre de votre temps pour m'aider.

Ci joint mon fichier excel

Bien à vous,

re,

Une simple question : est-ce que votre tableau sera amené à bouger ? je veux dire : est-ce que vous rajoutez des lignes ou vous en supprimez?

Cordialement

Pour instant je ne pense pas devoir rajouter d'autres lignes, mais il se peut que j'en rajoute peut-être dans le futur mais pas sur..

Par contre, les colonnes elles fluctuent selon le nombre d'année que j'ai besoin. Je vais jamais au delà de 15/20 ans.

cdt,

Re,

Un essai, vous convient-il ?

Cordialement

Bonjour,

Merci beaucoup pour votre aide, ce que vous avez déjà réussi à faire est top.

Par contre, Je sais pas si possible mais je souhaiterai que quand la bordure se marque à un endroit, je veux qu'elle grise tout le reste après.. étant pas utilisé.. Le but final étant de pouvoir directement faire une impression avec des bordures clean

Après je pas si vous pouviez me communiquer comment vous avez fait ?

Merci pour tout,

Cdt,

re,

Après je sais pas si vous pouvez me communiquer comment vous avez fait ?

Bien sûr que si

Tout d'abord, la macro :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("O11")) Is Nothing Then 'la macro se lance quand on modifie la cellule O11
Dim col As Range
For Each col In Range(Cells(16, 6), Cells(16, Range("E16").End(xlToRight).Column)) 'pour chaque colonne du tableau
Range(Cells(16, col.Column), Cells(53, col.Column)).Select 'selection colonne par colonne
'toute la suite : effecer la bordure droite
Selection.Borders(xlEdgeRight).LineStyle = xlNone 
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlNone
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
Next col 'passer à la colonne suivante du tableau
    Range("E36:AE38").Select 'réparer mes bêtises : remettre les bordure dans les cellules bleues
    With Selection.Borders
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
Range(Cells(16, 6 + Range("O11").Value), Cells(53, 6 + Range("O11").Value)).Select 'selectionner la dernière colonne du tableau, après modif (donc celle qui doit avoir la bordure)
    With Selection.Borders(xlEdgeRight) 'mettre la bordure
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
End If
End Sub

je veux qu'elle grise tout le reste après

Je vous envoie çà dès que possible

Cordialement

re,

Et voilà le fichier

Cordialement

Un grand merci,

Je considère que le problème est résolu

Mais dans le but d'être perfectionniste pouvez vous modifier la zone grisé par la couleur blanc,

Et pensez qu'il est possible de faire quelques choses pour les lignes 36/37/38 qui conservent leurs bordures à chaque fois ? pourquoi elles ne s'effacent pas comme les autres ?

Enfin, pouvez vous ajuster les bordures d’extrémités ligne 15/16/52

Un grand merci encore

Re,

pouvez vous modifier la zone grisé par la couleur blanc

heu... vous la voulez en gris ou en blanc ? juste pour être sûr.

Ou alors je ne sais pas de quelle plage vous parlez : pouvez vous me donner la plage de cellule concernée ?

pensez qu'il est possible de faire quelques choses pour les lignes 36/37/38 qui conservent leurs bordures à chaque fois ? pourquoi elles ne s'effacent pas comme les autres ?

Oui, je l'ai mis dans le code, je change çà dans le fichier

pouvez vous ajuster les bordures d’extrémités ligne 15/16/52

Là, j'ai pas compris non plus

Cordialement

Merci pour votre aide,

J'ai joint une photo avec le problème de couleur

  • est il possible que la partie grise soit blanc pour matcher avec le reste
  • concernant les lignes qui dépassent est-il possible de faire en sorte qu'elles soient masquées mais se génèrent si besoin en fonction de l'année.

cordialement,

capture pb

Hello,

2vba.xlsm (131.63 Ko)

Je ne sais pas si tu te souviens de moi, tu m'avais beaucoup aidé suite à

problème que je rencontrais avec une mise en page contionnée. Tout etait

parfait, petit rappel depuis la cellule O11 en changeant l'année, la macro

permet d'ajuster les bordures et donc une mise en page conditionnée.

Cepedant, le petit hic quand les années sont petites, en terme de visuel

c'est le fond reste pas blanc.

ci joint les photos et l'excel, si tu pouvais m'aider ca serait top please.

Bonjour,

Désolé, cela faisait un moment que je n'était plus venu sur le forum.

Voici le fichier corrigé.

Cordialement,

3vba.xlsm (127.21 Ko)
Rechercher des sujets similaires à "mise page conditionnee"