Report de données

eridus

XLDnaute Junior
Bonjour à tous, chère communauté Excel,

Je reviens vers vous aujourd'hui pour une question qui me semble assez compliquée.

Pour mieux me faire comprendre, je vous ai joint un fichier en exemple. Il s'agit d'un fichier de compte d'entreprise avec prévisionnel.

Comme vous pouvez le voir dans l'onglet "Détail Sommes provisionnées", il y a un numéro à coté des titres de chaque rubrique (en vert).

Également, lorsque vous allez dans l'onglet "juin", il y a des chiffres dans la colonne B.

Voilà ma question :

Serait-il possible que, à partir du moment où on indique un chiffre dans la colonne B de l'onglet "juin", on puisse retrouver le libellé (colonne C) et le débit (colonne D) ou le crédit (colonne E) dans l'onglet "Détail Sommes provisionnées" et dans leur colonnes respectives (B, C ou D), mais aussi dans leur rubrique de destination déterminée par le chiffre indiqué dans la colonne B de l'onglet "juin" ? :confused:

J'espère que ma question est claire ! Sinon, n'hésitez pas à me demander des précisions.

Une fois de plus je me remet entre vos mains expertes en espérant que vous réussirez à optimiser encore une fois un de mes nombreux fichiers Excel.

Par avance, un grand merci à vous.

Cordialement,

Eridus
 

Pièces jointes

  • Tableau d'essai.xlsx
    473.5 KB · Affichages: 57
  • Tableau d'essai.xlsx
    473.5 KB · Affichages: 57
  • Tableau d'essai.xlsx
    473.5 KB · Affichages: 51
Dernière édition:

eridus

XLDnaute Junior
Re : Repport de données

Bonjour job75,

Je ne comprends pas trop votre réponse.

Ce que je demande à Excel de rechercher et de reporter existe bien.

Mon explication ne doit alors pas être très clair.

En fait, je souhaiterais qu'Excel me reporte des données existante dans l'onglet "juin" (du tableau d'essai en pièce jointe) dans l'onglet "Détail Sommes provisionnées".

C'est pourquoi j'ai rajouté une colonne (B) avec des chiffres pour dire à Excel dans quelle rubrique de l'onglet "Détail Sommes provisionnées" il faut rajouter les données de l'onglet "juin".

Est-ce faisable ?

Par avance, merci pour votre réponse
 

camarchepas

XLDnaute Barbatruc
Re : Report de données

Bonjour ,

Un exemple , onglet avant onglet aprés pourrait peut être nous aider davantage , car là au niveau compréhension , c'est vrai qu'il faut au moins 2 boules de cristal synchronisées en Wifi

Juste un exemple sur une ou 2 lignes pour bien comprendre ce que l'on cherche à faire .
 

job75

XLDnaute Barbatruc
Re : Report de données

Re,

Placez cette macro dans le code de la 1ère feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Activate()
Dim n As Byte, i As Variant, j As Variant
Application.ScreenUpdating = False
For n = 1 To 13 'à adapter éventuellement
  i = Application.Match("*(" & n & ")", [B:B], 0)
  If IsNumeric(i) Then
    j = Application.Match("TOTAL*", Range(Cells(i + 1, 2), Range("B" & Rows.Count)), 0)
    If IsNumeric(j) Then
      If j > 3 Then Rows(i + 2).Resize(j - 3).Delete 'RAZ
      With Sheets("juin")
        For j = .Range("B" & .Rows.Count).End(xlUp).Row To 11 Step -1
          If .Cells(j, 2) = n Then
            Rows(i + 2).Insert
            Cells(i + 2, 2) = .Cells(j, 3)
            Cells(i + 2, 3) = .Cells(j, 4)
            Cells(i + 2, 4) = .Cells(j, 5)
            Cells(i + 2, 3).Resize(, 2).NumberFormat = "#,###.00 €" 'au cas où
          End If
        Next
      End With
    End If
  End If
Next
End Sub
Elle s'exécute quand on active la feuille.

A+
 
Dernière édition:

eridus

XLDnaute Junior
Re : Report de données

Bonjour,

Effectivement, mon tableau me parle car je l'ai fait et je m'en sert régulièrement et, du coup, cela me parrait évident alors que ça ne l'est pas forcement.

Donc, voici un nouveau tableau (pièce jointe) considérablement épuré.

Je vais essayer de vous ré exprimer clairement mon soucis :

Comment faire pour que les données en bleu (colonne C, D et E) de la page 2 puissent aller automatiquement dès leur saisie dans la page 1 (colonne B, C et D) mais aussi et surtout, trié dans leur catégorie respective, repérée par un chiffre et une couleur se trouvant également dans la page 2 (colonne B).

Dans cet exemple, j'aimerais que

- "citelis" et son crédit (page 2, ligne 11) se retrouve automatiquement dans la catégorie 5 de la page 1 (entre la ligne 32 et 38)
- "loyer bureau" et son débit (page 2, ligne 12) se retrouve automatiquement dans la catégorie 2 de la page 1 (entre la ligne 11 et 15)
- etc...

J'espère avoir réussi à mieux me faire comprendre.

Dans tous les cas, un grand merci à vous tous pour votre aide.

Cordialement,

Eridus
 

Pièces jointes

  • Tableau d'essai.xlsx
    396 KB · Affichages: 37
  • Tableau d'essai.xlsx
    396 KB · Affichages: 42
  • Tableau d'essai.xlsx
    396 KB · Affichages: 40

eridus

XLDnaute Junior
Re : Report de données

Cher job75,

C'est tout simplement impressionnant comme ça fonctionne bien !!!

Un très grand merci à vous pour cela !

Juste une petite précision : L'onglet "juin" est un des onglet présent dans le vrai fichier. En réalité, il y a autant d'onglet que de mois de l'année.

Lorsque je passe au mois de juillet, j'ai vu que je pouvais remplacer la mention "juin" dans le code par une mention "juillet" et ainsi de suite...

Est-ce correct où y a -t-il un autre moyen ?
 

job75

XLDnaute Barbatruc
Re : Report de données

Re,

Les 3 cellules traitées par ligne étant contigües, ceci est plus rapide :

Code:
Private Sub Worksheet_Activate()
Dim n As Byte, i As Variant, j As Variant
Application.ScreenUpdating = False
For n = 1 To 13 'à adapter éventuellement
  i = Application.Match("*(" & n & ")", [B:B], 0)
  If IsNumeric(i) Then
    j = Application.Match("TOTAL*", Range(Cells(i + 1, 2), Range("B" & Rows.Count)), 0)
    If IsNumeric(j) Then
      If j > 3 Then Rows(i + 2).Resize(j - 3).Delete 'RAZ
      With Sheets("juin")
        For j = .Range("B" & .Rows.Count).End(xlUp).Row To 11 Step -1
          If .Cells(j, 2) = n Then
            Rows(i + 2).Insert
            Cells(i + 2, 2).Resize(, 3) = .Cells(j, 3).Resize(, 3).Value
            Cells(i + 2, 3).Resize(, 2).NumberFormat = "#,###.00 €" 'au cas où
          End If
        Next
      End With
    End If
  End If
Next
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Report de données

Re,

Lorsque je passe au mois de juillet, j'ai vu que je pouvais remplacer la mention "juin" dans le code par une mention "juillet" et ainsi de suite...

Est-ce correct où y a -t-il un autre moyen ?

Bien sûr que c'est correct, mais tout dépend de ce que vous voulez faire.

Si vous voulez traiter tous les mois en transférant les données vers la même feuille, il suffit de faire une boucle sur les feuilles des mois (a priori de décembre à janvier).

A+
 

eridus

XLDnaute Junior
Re : Report de données

Cher job 75,

Je n'ai pas l'impression que ce code fonctionne. Toutefois, le premier fonctionne à merveille et je vous en remercie beaucoup.

Pour le changement de mois, il s'agit bien de faire la manipulation que j'ai décrite ci-dessus ?
 

Discussions similaires

Réponses
2
Affichages
207
Réponses
10
Affichages
213
Réponses
15
Affichages
369

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote