Prolonger automatiquement un tableau

Résolu
hhhannah Messages postés 2 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014 - Modifié par jordane45 le 15/07/2014 à 11:19
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 15 juil. 2014 à 15:04
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

jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
15 juil. 2014 à 11:27
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....


0
hhhannah Messages postés 2 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014
15 juil. 2014 à 12:07
Merci bcp,

je suis vraiment nulle je ne sais aps comment coder l'ajout des formules :s
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
15 juil. 2014 à 15:04
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.
0
Rejoignez-nous