CONSOLIDATION DE DONNEES SANS TCD

safranien

XLDnaute Occasionnel
Bonjour

à partir d'une base de données (500 lignes), j'aimerais consolider les montants selon plusieurs critères. Je ne souhaite pas utiliser des TCD mais des formules. Sachant que le rendu sera par la suite pour un publipostage.
Je vous joins un exemple (il y a plus de colonnes qui seront prévues pour faire mon regroupement).

J'espère que vous pourrez m'aider.

Merci d'avance.
 

Pièces jointes

  • EXEMPLE GROUPER SAF.xlsx
    11.1 KB · Affichages: 40

chris

XLDnaute Barbatruc
Bonjour

Utiliser SOMME.SI.ENS ou SOMMEPROD

Edit : Coucou JHA :)

Edit 2 : A noter que si le TCD est correctement paramétré rien n'empêche de l'utiliser en publipostage et que Word sait convertir les nombre en lettres...
 
Dernière édition:

safranien

XLDnaute Occasionnel
Bonjour

merci pour vos retours rapides. JHA, je ne veux pas supprimer quoique ce soit dans ma base de données puisque je vais la renseigner tout au long de l'année.
Chris, je vais voir si j'arrive avec sommeprod à faire quelque chose. Meme si il faut que je refasse un tableau à la mimine reprenant l'ensemble des valeurs que je ne veux avoir qu'une fois puis faire mon sommeprod.
J'aurais aimé que ce tableau de synthèse se fasse "tout seul" (avec des formules de suppression de doublon par exemple). Si je viens à ajouter une société 5 et un nouveau centre, je serai obligé d'ajouter cette nouvelle société et ce nouveau centre dans mon tableau de synthèse. J'aimerais qu'ils s'ajoutent automatiquement si c'est possible.

Merci
 

safranien

XLDnaute Occasionnel
Désolé Chris, je pense avoir répondu avant que ton message ne s'affiche. OK je vais essayer avec un TCD alors et essayer de trouver comment convertir en lettres un champ de fusion. Si tu sais comment faire ou que tu as un lien, je suis preneur ;-)
 

chris

XLDnaute Barbatruc
Re

Ci-joins Excel + Commutateur Word pour Chiffres en lettres
Chiffres_lettres.png
 

Pièces jointes

  • GROUPER SAF-1_TCD.xlsx
    16 KB · Affichages: 32

klin89

XLDnaute Accro
Bonsoir à tous, :)

Une autre approche :
Efface le contenu de la cellule A1
VB:
Option Explicit
Sub regrouper()
Dim a, i As Long, j As Long, n As Long, txt As String, dico As Object
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    a = Sheets("Feuil1").Range("a2").CurrentRegion.Value
    n = 1
    For i = 2 To UBound(a, 1) - 1
        txt = Join(Array(a(i, 3), a(i, 4)), Chr(2))
        If Not dico.exists(txt) Then
            n = n + 1: dico(txt) = n
            For j = 1 To UBound(a, 2)
                a(n, j) = a(i, j)
            Next
        Else
            a(dico(txt), 5) = a(dico(txt), 5) + a(i, 5)
        End If
    Next
    With Sheets.Add().Cells(1).Resize(n, 5)
        .Value = a
        With .Offset(.Rows.Count, .Columns.Count - 1).Resize(1, 1)
            .Formula = "=sum(r2c:r[-1]c)"
        End With
    End With
End Sub
klin89
 

safranien

XLDnaute Occasionnel
re
merci. Par contre je dois mal écrire le texte pour le publipostage, ça me met "Champ de fusion non valide". J'écris MERGEFIELD à la main mais peut être faut-il l'appeler via un menu?
{ MERGEFIELD<Somme_de_montant_>\*CardText}
J'ai le double <> quand j'insère un champ de fusion.

J'ai réussi en insérant le champ de fusion Somme_de_montant, puis clic droit, modification du champ, code de champ et ajout du \*CardText. Par contre, si j'ai des montants avec des centimes, cela ne me le converti pas en texte avec les centimes mais ça arrondi le montant.

Sinon est ce possible d'insérer un champ calculé dans le TCD avec la formule pour convertir le montant en lettres (=ConvNumberLetter(E2;1;0))?
 
Dernière édition:

chris

XLDnaute Barbatruc
RE

Non pas possible d'intégrer dans le TCD, éventuellement dans une cellule à côté...
Sinon possible dans Word mais un peu compliqué alors je te joins l'exemple : il faudra modifier la source (chemin).
1ère ligne sans décimales, 2ème ligne avec tous les codes nécessaires à l'affichage des centimes
ALT F9 pour afficher tous le codes de champs.

Il ne faut jamais écrire les accolades à la main : utiliser les champs prévus pour publipostage ou, a minima, CTRL F9 pour avoir les accolades qui indiquent un champ et compléter.
Mais la syntaxe est, comme dans Excel, très pointilleuse...
 

Pièces jointes

  • Chiffres_lettres 2.zip
    15.3 KB · Affichages: 32
Dernière édition:

Discussions similaires

Réponses
11
Affichages
506

Statistiques des forums

Discussions
312 194
Messages
2 086 069
Membres
103 110
dernier inscrit
Privé