Prolonger automatiquement un tableau [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 15 juillet 2014
Statut
Membre
Dernière intervention
15 juillet 2014
-
Messages postés
30284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2020
-
Bonjour,

Je dois faire un tableau de bord des factures et règlements de mon service.


En gros, toute la partie gauche ed mon tableau (depuis le numéro de facture jusqu'aux colonnes concernant les créances) est un tableau croisé dynamique alimenté par une source externe.
Du coup, quand je rafraichis mon TCD, de nouvelles lignes vont s'ajouter.

Du coup, j'aimerais savoir si il est possible de faire en sorte que la partie droite du tableau se crée automatiquement de façon à ne pas avoir un tableau tout moche à droite qui descend jusqu'en bas...

Merci bcp de votre aide :)

2 réponses

Messages postés
30284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2020
338
Bonjour,

Oui c'est possible.


Tu trouves la dernière ligne remplis de ton tableau de gauche.
Tu définis la "nouvelle" plage de ton tableau de droite.
Pour cette plage... tu défini les bords de tes cellules.
Et tout cela se déclenche lors d'un changement dans la feuille...


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Derniere_Ligne  As Integer
Derniere_Ligne = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row


Dim MaPlage As Range
Set MaPlage = Range("V1:X" & Derniere_Ligne)


With MaPlage.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With MaPlage.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With MaPlage.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
        With MaPlage.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With MaPlage.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With MaPlage.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With


End Sub






Bien sûr... là je n'ai traité que les bords de cellule...
Il te faudra coder l'ajout des formules si tu en as...etc....


Messages postés
2
Date d'inscription
mardi 15 juillet 2014
Statut
Membre
Dernière intervention
15 juillet 2014

Merci bcp,

je suis vraiment nulle je ne sais aps comment coder l'ajout des formules :s
Messages postés
30284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2020
338
Ta "première" question est résolue.
Il faut donc clôre ce sujet => C'est la règle ici....

Ensuite...(toujours par ce que c'est la règle sur ce forum)... on ne pose qu' UNE question par discussion....
Il te faudra donc en ouvrir une autre.

Et puis ne déserpère pas.... on fini par apprendre....

Par exemple... comment ferais tu "manuellement" pour reproduire tes formules (si tu en as) dans le reste de ton tableau ?
Et bien.... utilises l'enregistreur de macro.... effectue l'opération manuellement... et regarde le code que ça te génère.
Ensuite si tu bloques toujours... reviens avec ton code et des explications détaillées de ce que tu souhaites faire et là...on pourra peut être t'aider.