XL 2010 Travail sur base de données

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Muzomax59

XLDnaute Nouveau
Bonjour à tous

Alors voilà mon problème :

J'ai une base de données que je souhaiterais transformé en tableau double entrée

Trop de données pour un recherchev et plutôt chiant avec BDlire

Quelqu'un a t'il une somptueuse idée???

Merci os nombreuses réponses ;-)
 

Pièces jointes

Bonsoir,

Fait en 10 min avec un pgm générique.

http://boisgontierjacques.free.fr/fichiers/Cellules/TabCroise.xls

Code:
Sub Stat2DTab()
  Set f = Sheets("Rapport pour export")
  TblBD = f.Range("A8:K" & f.[A65000].End(xlUp).Row).Value  ' Array pour rapidité
  colCrit1 = 8: colCrit2 = 6: colOper = 9
  Set Result = f.Range("M6")                    ' Adresse résultat
  Set d1 = CreateObject("Scripting.Dictionary")    ' Dictionnaire index pour rapidité
  Set d2 = CreateObject("Scripting.Dictionary")
  Dim TblTot(): ReDim TblTot(1 To UBound(TblBD), 1 To UBound(TblBD, 2))
  Dim TblTotLig(): ReDim TblTotLig(1 To UBound(TblBD))
  Dim TblTotCol(): ReDim TblTotCol(1 To UBound(TblBD, 2))
  For i = LBound(TblBD) To UBound(TblBD)
    clé1 = TblBD(i, colCrit1): If d1.exists(clé1) Then lig = d1(clé1) Else d1(clé1) = d1.Count + 1: lig = d1.Count
    clé2 = TblBD(i, colCrit2) & " " & TblBD(i, 2): If d2.exists(clé2) Then col = d2(clé2) Else d2(clé2) = d2.Count + 1: col = d2.Count
    TblTot(lig, col) = TblTot(lig, col) + TblBD(i, colOper)
  Next i
  Result.Offset(1).Resize(d1.Count, 1) = Application.Transpose(d1.keys)   ' titre lignes
  Result.Offset(, 1).Resize(1, d2.Count) = d2.keys                        ' titres colonnes
  Result.Offset(1, 1).Resize(d1.Count, d2.Count) = TblTot                 ' stat 2D
End Sub


jb
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
2 K
Retour