Extraction ou transfert de données

Bonjour,

le problème que je cherche à résoudre se présente comme suit:

1) dans le classeur d'une école, il y a 1 feuille Inscriptions et 4 feuilles classes (GS, CI, CP et CE2)

2) pour chaque inscription d'élève, les données de l'élève sont saisies sur la feuille INSCRIPTION

3) y a t il un moyen par lequel les données saisies dans la feuille INSCRPTION puissent être automatiquement disponibles/visibles dans la feuille classe de l'élève concerné ?

Ci-joint le ''classeur-test''.

Merci d'avance

12classeur-test.xlsx (45.08 Ko)

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Option Explicit

Dim tablo, tablof(), dico As Object, f As Worksheet

Dim i&, j&, k&

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

If ActiveSheet.Name = "INSCRIPTIONS" Then Exit Sub

Set dico = CreateObject("Scripting.Dictionary")

tablo = Sheets("INSCRIPTIONS").Range("A6").CurrentRegion

ReDim tablof(1 To UBound(tablo, 1), 1 To UBound(tablo, 2))

For i = 1 To UBound(tablo, 1)

dico(tablo(i, 7)) = ""

Next i

k = 0

If dico.exists(Sh.Name) Then

Sh.Range("G16").CurrentRegion.Offset(1, 0).ClearContents

For i = 1 To UBound(tablo, 1)

If tablo(i, 7) = Sh.Name Then

For j = 1 To UBound(tablo, 2)

tablof(k + 1, j) = tablo(i, j)

Next j

k = k + 1

End If

Next i

Sh.Range("G16").CurrentRegion.Offset(1, 0).ClearContents

Sh.Range("G17").Resize(k, UBound(tablo, 2)) = tablof

End If

End Sub

Bye !

Merci Gmb,

Je suis extrêmement impressionné par la rapidité et le pertinence de ta solution.

Ce qui donne des idées. Puis je te contacter directement ?

Voici le mien : mel.beugre@yahoo.fr

Merci d'avance.

Puis je te contacter directement ?

Non , désolé. Je tiens à rester dans l'anonymat qu'offre ce forum.

Bye !

Ok, je comprends. Merci encore pour la qualité de ta contribution à ce forum !

Bonjour Gmb,

J'ai eu beaucoup de plaisir à recevoir votre solution qui répondait exactement au problème tél qu'il était posé.

L'étape 2, à mon niveau, consistait à adapter ladite solution (Macro, code VBA) au fichier réèl qui comprend 14 classes et environ 270 inscriptions/élèves.

Je reviens donc avec 2 interrogations:

1) Est ce possible/faisable de placer les données dans les tableaux des feuilles-classe (voir les emplacements en rouge dans les feuilles-classe du fichier joint) ?

2) Si oui, quelle macro serait applicable compte tenu du fichier réel ?

Ci-joint le fichier incluant la macro précédente.

Merci d'avance.

Bonjour

Nouvelle version

Option Explicit

Dim tablo, tablof(), dico As Object, f As Worksheet
Dim i&, j&, k&, n&

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

    If ActiveSheet.Name = "INSCRIPTIONS" Then Exit Sub

        Set dico = CreateObject("Scripting.Dictionary")
        tablo = Sheets("INSCRIPTIONS").Range("A6").CurrentRegion
        ReDim tablof(1 To UBound(tablo, 1), 1 To UBound(tablo, 2))

        For i = 1 To UBound(tablo, 1)
            dico(tablo(i, 7)) = ""
        Next i
        k = 0

        If dico.exists(Sh.Name) Then
            Sh.Range("G16").CurrentRegion.Offset(1, 0).ClearContents
            For i = 1 To UBound(tablo, 1)
                If tablo(i, 7) = Sh.Name Then
                    For j = 1 To UBound(tablo, 2)
                        tablof(k + 1, j) = tablo(i, j)
                    Next j
                    k = k + 1
                End If
            Next i
            Sh.Range("G16").CurrentRegion.Offset(1, 0).ClearContents
            Sh.Range("G17").Resize(k, UBound(tablo, 2)) = tablof

            Sh.Range("A16,B19:B21").ClearContents
            Sh.Rows("28:" & Sh.Range("A" & Rows.Count).End(xlUp).Row).Clear
            For n = 1 To k

                Sh.Range("A13:E25").Copy Sh.Range("A" & 15 * n - 2)
                'sh.range("A" & 15*n +4 & ":" & sh.range("A" & 15*n +6)
                Sh.Range("A" & 15 * n + 1) = tablof(n, 6)
                Sh.Range("B" & 15 * n + 4) = tablof(n, 8)
                Sh.Range("B" & 15 * n + 5) = tablof(n, 9)
                Sh.Range("B" & 15 * n + 6) = tablof(n, 10)
            Next n
    End If
End Sub

Bye

Bonjour GMB,

bien reçu ta suite, version2, merci !!!

Il me reste maintenant à l'adapter/la tester sur le fichier réèl (complet).

Je te reviens au plus vite pour la conclusion de cette dernière étape.

Cordialement

Bonsoir GMB,

Je suis vraiment désolé ! Je n'ai pas pu adapter/modifier le code version2 au fichier complet. J'ai encore du chemin à faire pour arriver à ce niveau.

En attendant, peux tu l'adapter directement ?

Ci-joint la version vierge/neutre dudit fichier (fichier-reel-vierge-test-final2).Tout en précisant que toutes les informations et autres mentions dans ce fichier sont totalement fictives et ne contiennent rien de confidentiel. Toutes les feuilles confidentielles et non indispensables ayant été supprimées.

-les données élèves (Feuille saisie Inscriptions) que je souhaite transférer automatiquement dans les classes respectives sont en rouge et devraient être transférés automatiquement dans les feuilles classe comme suit: le Nom en 1 cellule de la colonne A, les éléments Solde antérieur-Droit-Uniforme-Fournitures-Scolarité-Transport-Cantine en 7 cellules de la colonne B, le montant Avance versée ou (Payé) en 1 cellule de la colonne C.

-chacune des 13 classes prévoit une moyenne de 20 élèves et donc 20 fiches factures par feuille.

Merci infiniment de ton aide !

Rechercher des sujets similaires à "extraction transfert donnees"