Je n'en a plus besoin à priori. Continuez à renseigner la table pour les autres colonnes aussi.
Faites en sorte que tout soit comme dans la feuille DSN: en texte (sauf le numéro de colonne dans le récapitulatif, bien sûr)
Yes j'ai compris. Ca marche.
Par contre j'ai un souci quand je supprime les onglets hors table et récap, et que je me mets des données réelles, il beugue
VB:
With ThisWorkbook.Worksheets: For F = FSiret1.Index To .Count: .Item(F).Name = .Item(F).CodeName: Next F: End With
F = FSiret1.Index - 1
Il vaudrait vraiment mieux éviter de faire ça. Un de ces jour vous voudrez peut être totaliser tout ça horizontalement et vous ne vous rappellerez plus que certaines choses seront ainsi comptées deux fois.
Il y aurait néanmoins possibilité de spécifier deux numéros de colonnes:
Dans les déclaration ajoutez un petit tableau, ColsRéc()
À l'initialisation du dico :
VB:
For LRc = 1 To UBound(TRc, 1)
DicRécap(TRc(LRc, 1) & "|" & TRc(LRc, 2) & "|" & TRc(LRc, 3)) = Array(TRc(LRc, 4), TRc(LRc, 5)): Next LRc
À la ventilation :
VB:
CléRécap = Détail(30) & "|" & Détail(31) & "|" & Détail(33)
If DicRécap.Exists(CléRécap) Then
ColsRéc = DicRécap(CléRécap)
C = ColsRéc(0): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
C = ColsRéc(1): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
End If
CléRécap = Détail(30) & "|" & Détail(31) & "|" & Détail(33)
If DicRécap.Exists(CléRécap) Then
ColsRéc = DicRécap(CléRécap)
C = ColsRéc(0): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
C = ColsRéc(1): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
End If
Le système bugge.
Erreur de compilation
Variable non définie
Ajoutez la déclaration de ColRéc().
Pour les formats, profitez de la boucle For LRc = 4 To LRc Step 5 tout en bas qui met les formules.
Aidez vous de l'enregistreur de macro pour les modèles, moi je suis fatigué.
En fait y a qu'une chose à tirer de tout ce fatras : ExpressionRange.Font.Bold = True pour mettre en gras.
Pour mettre en jaune orange pâle je fais : ExpressionRange.Interior.Color = RGB(255, 240, 186)