Extraire des données d'un tableau selon un critère (RESOLU)

chajmi

XLDnaute Occasionnel
Bonjour

J'ai un tableau A dans lequel sont saisies des opérations de comptabilité (comptes pour une association).
En fin de mois, je dois envoyer à la compta un tableau B avec uniquement les opérations du mois en cours.

Je voudrais remplir automatiquement le tableau B en indiquant le N° du mois en J2.

Je ne suis pas trop doué dans les tableaux croisés dynamiques.

Quelle solution puis je trouver ?

merci de votre aide
 

Pièces jointes

  • Essai.xlsx
    45.5 KB · Affichages: 56
  • Essai.xlsx
    45.5 KB · Affichages: 65
  • Essai.xlsx
    45.5 KB · Affichages: 56
Dernière édition:

QI dhuitre

XLDnaute Junior
Re : Extraire des données d'un tableau selon un critère

Bonjour, la meilleur solution c'est de perdre une vingtaine d'heure, de lire des tutoriels et de manipuler des tableaux croisé dynamique car c'est un outil très pratique. Sinon...dans le classeur original les tableaux sont au même endroit que sur le classeur essai ? Contourner l'utilisation d'un croisé dynamique par des formules c'est possible, ceci dit, ce serait plus sympa pour celui qui va aider de lui fournir un réel reflet de la réalité histoire de ne pas écrire puis re écrire les formules pour qu'elles soient adaptées...
 

chajmi

XLDnaute Occasionnel
Re : Extraire des données d'un tableau selon un critère

Cela fonctionne bien, je devrais pouvoir adapter cela.
La formule est complexe, est ce qu'il y plus simple ?

En tout cas grand merci.
Cordialement
 

chajmi

XLDnaute Occasionnel
Re : Extraire des données d'un tableau selon un critère

Bonjour, la meilleur solution c'est de perdre une vingtaine d'heure, de lire des tutoriels et de manipuler des tableaux croisé dynamique car c'est un outil très pratique. Sinon...dans le classeur original les tableaux sont au même endroit que sur le classeur essai ? Contourner l'utilisation d'un croisé dynamique par des formules c'est possible, ceci dit, ce serait plus sympa pour celui qui va aider de lui fournir un réel reflet de la réalité histoire de ne pas écrire puis re écrire les formules pour qu'elles soient adaptées...

Bonjour
Effectivement, le mieux serais de passer du temps à chercher et en plus, Excel me passionne.
le problème est que je n'ai pas beaucoup de temps car je fais du bénévolat. Alors merci à ceux qui pourront me dépanner.

Mon tableau est minimaliste et je vais en proposer un plus proche de la réalité.

Merci pour le temps passé. Cordialement
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : Extraire des données d'un tableau selon un critère

Bonjour à tous,
Pour y passer le moins de temps possible : créer un filtre automatique, filtrer sur le mois voulu, copier et coller valeurs dans le tableau de destination.
Une solution intermédiaire pour n'y passer du temps qu'une fois : utiliser le filtre avancé en lisant bien les instructions de l'aide ou demander qu'on te le mette en place, ensuite c'est 3 ou 4 clics

Cordialement

et pour corriger QI d'huitre (que je salue respectueusement !!)
Bonjour, la meilleur solution c'est de perdre investir une vingtaine d'heure
 
Dernière édition:

gosselien

XLDnaute Barbatruc
Re : Extraire des données d'un tableau selon un critère

Bonjour le forum,

autre proposition puisque je m'amuse à étudier les tableaux...

Patrick
 

Pièces jointes

  • chajmi forum.xlsm
    31.5 KB · Affichages: 57
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Extraire des données d'un tableau selon un critère

Bonjour à tous,

Avec ce petit bout de code dans le module de la feuille :
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$J$2" Then
        Range("B6:H500").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "J1:J2"), CopyToRange:=Range("J6:P500"), Unique:=True
    End If
End Sub

Changer la valeur en J2.
Prévu pour 500 lignes

A+ à tous
 

Pièces jointes

  • JC Filtre Avancé.xls
    78.5 KB · Affichages: 43

chajmi

XLDnaute Occasionnel
Re : Extraire des données d'un tableau selon un critère

Bonjour, la meilleur solution c'est de perdre une vingtaine d'heure, de lire des tutoriels et de manipuler des tableaux croisé dynamique car c'est un outil très pratique. Sinon...dans le classeur original les tableaux sont au même endroit que sur le classeur essai ? Contourner l'utilisation d'un croisé dynamique par des formules c'est possible, ceci dit, ce serait plus sympa pour celui qui va aider de lui fournir un réel reflet de la réalité histoire de ne pas écrire puis re écrire les formules pour qu'elles soient adaptées...

Je viens de faire un nouveau fichier, plus proche de la réalité.
J'ai une première feuille "Opérations annuelles", dans laquelle j'enregistre des opérations comptables pour une association.
En fin de mois je dois envoyer un certain nombre de feuilles renseignées à a comptabilité régionale de l'association.
J'ai entre autre une feuille "SG" (pour Société générale) qui est un journal de banque mensuel et une autre "CS" (pour chèque service) qui liste les chèques service distribués dans le mois.

Pour renseigner la feuille "SG" au mois de janvier, il me faut donc des formules pour extraire du tableau "Opérations annuelles" toutes les lignes identifiées 01 dans la colonne A et SG dans la colonne B.
Pour la feuille CS ce sera les opérations identifiées 01 dans la colonne A et CS dans la colonne B.

J'espère que je suis suffisamment explicite.
Merci d'avance pour votre aide précieuse.
 

Pièces jointes

  • COMPTES essai.xlsm
    77.6 KB · Affichages: 54

chajmi

XLDnaute Occasionnel
Re : Extraire des données d'un tableau selon un critère

Bonjour à tous,

Avec ce petit bout de code dans le module de la feuille :
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$J$2" Then
        Range("B6:H500").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "J1:J2"), CopyToRange:=Range("J6:P500"), Unique:=True
    End If
End Sub

Changer la valeur en J2.
Prévu pour 500 lignes

A+ à tous

Merci JCGL, mais j'avais mal expliqué mon besoin, du coup c'est plus complexe que ça (voir ci dessus)
Mais je retiens l'exemple pour d'autres applications.
Cordialement
 

gosselien

XLDnaute Barbatruc
Re : Extraire des données d'un tableau selon un critère

Sub copieAcoté() ' largement inspiré d'un code que l'on m'a fourni sur ce forum (dsl, je ne sais plus qui)
Dim Nblig, TblDépart, i, J, F ' déclaration des variables
Dim TblFiltré() As Variant
'
Set WS1 = Sheets("Feuil1") ' attribution du nom de la feuille à un objet
Nblig = WS1.Range("B65000").End(xlUp).Row ' Nb de lignes (variables) dans tableau de départ
Nbcol = 7 ' dernière colonne à droite (tableau de départ à gauche)
TblDépart = WS1.Range(Cells(7, 2), Cells(Nblig, 8)) ' on place le tout dans tableau départ
For i = LBound(TblDépart) To UBound(TblDépart) ' boucle de 1 à n ligne
If TblDépart(i, 1) = Range("J2").Value Then ' si la valeur est égale à la semaine demandée
F = F + 1
ReDim Preserve TblFiltré(1 To Nbcol, 1 To F) ' redimmensionner la zone
For J = 1 To UBound(TblDépart, 2) ' de 1 à dernière ligne du tableau mémorisé
TblFiltré(J, F) = TblDépart(i, J) ' passage du premier tableau (le complet) vers un second
Next J
End If
Next i
Range("J7:p" & [J65000].End(xlUp).Row).ClearContents ' effacer la zone de destination
[J7].Resize(UBound(TblFiltré, 2), UBound(TblFiltré, 1)) = Application.Transpose(TblFiltré) ' placer le résultat en J7
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 092
Membres
103 116
dernier inscrit
kutobi87