Macro pour un tableau de scolarité

Résolu/Fermé
noe2008 Messages postés 183 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 9 novembre 2023 - 22 mai 2016 à 22:09
noe2008 Messages postés 183 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 9 novembre 2023 - 31 mai 2016 à 23:38
Salut les amis
je travaille sur une macro dans le tableau de scolarité de l’année prochaine
Je souhaite créer une macro afin de préparer le tableau de scolarité de l’année prochaine pour cela dans le tableau de scolarité de l’année actuelle je saisi dans les cellules des résultats de fin d’année :
A : pour les admis
R : pour les non admis
Le but de cette macro est de réorganiser les élèves de chaque niveau scolaire pour l’année prochaine
Exemple : les élèves non admis de la 4AP et les admis de la 3AP de l’année actuelle devront être regroupé dans le tableau de scolarité de la 4AP de l’année prochaine
Le classeur est compose de 6 feuilles de la 1AP à 6AP
Les admis de la 6AP ne devront plus exister dans le classeur de l’année prochaine car ils iront au collège

Aider moi pour importer les données du classeur année actuelle vers le classeur année prochaine et merci infiniment
vous trouverez le deux fichiers en fichier joint :
https://www.cjoint.com/c/FEwuhEN7HCB


A voir également:

6 réponses

noe2008 Messages postés 183 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 9 novembre 2023 4
23 mai 2016 à 09:16
meme des formules pour liaison entre les classeurs ça marche pour moi
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
23 mai 2016 à 09:19
Bonjour
Pourquoi toutes ces cellules fusionnées?
Voici le code, vous devez y modifier toutes les lettres des colonnes pour l'adapter au format arabe (de droite à gauche) , chez moi, tout inversé, la colonne A correspond à la colonne Z chez vous, donc je vous laisse faire les modifs.
Option Compare Text

Sub Macro1()
    Application.ScreenUpdating = False
    Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6")).Select
    Sheets("Sheet1").Activate
    Range("C14:X100").Select
    Selection.ClearContents

    For f = 1 To 6
        Windows("Année actuelle.xls").Activate
        Sheets(f).Select
        DerLig = [C13].End(xlDown).Row
        ReDim Classe(6, 100) As String
        ReDim Position(6, 100) As String
        ReDim Naissance(6, 100) As String
        ReDim Sexe(6, 100) As String
        ReDim Prenom(6, 100) As String
        ReDim Nom(6, 100) As String
        ReDim Num(6, 100) As String
        For l = 14 To 100
            If Cells(l, "C") = "" Then GoTo Restitution
            If Cells(l, "C") = "A" Then
                Classe(f, l) = f + 1
            ElseIf Cells(l, "C") = "R" Then
                Classe(f, l) = f
            End If
            If f + 1 = 7 Then GoTo Suivant
            Position(f, l) = Cells(l, "C")
            Naissance(f, l) = Cells(l, "F")
            Sexe(f, l) = Cells(l, "J")
            Prenom(f, l) = Cells(l, "M")
            Nom(f, l) = Cells(l, "Q")
            Num(f, l) = Cells(l, "V")
Suivant:
        Next l
        
Restitution:
        Windows("Année prochaine.xls").Activate
        For l = 14 To 100
            If Classe(f, l) = "" Then GoTo FeuilleSuivante
            If Classe(f, l) = f + 1 Then
                If f + 1 = 7 Then GoTo Suivant2
                Sheets(f + 1).Select
            ElseIf Classe(f, l) = f Then
                Sheets(f).Select
            End If
            DerLig2 = [V1000].End(xlUp).Row + 1
            Cells(DerLig2, "C") = Position(f, l)
            Cells(DerLig2, "F") = Format(Naissance(f, l), "m/d/yyyy")
            Cells(DerLig2, "J") = Sexe(f, l)
            Cells(DerLig2, "M") = Prenom(f, l)
            Cells(DerLig2, "Q") = Nom(f, l)
            Cells(DerLig2, "V") = Num(f, l)
Suivant2:
        Next l
FeuilleSuivante:
    Next f
End Sub
Cdlt
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 23/05/2016 à 13:41
Bonjour,

Non , pas erreur, il y a des nons admis qui passent a la trappe, en 4,5 et 6
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
23 mai 2016 à 19:14
Bonsoir F894009, bonsoir noe2008,
Merci pour votre remarque.
Seuls les redoublants "R" de la feuille 6 passent à la trappe, (j'ai laissé trainer une ligne qui fallait pas). Pour les autres cela vient du fait que les tableaux sont arrêtés à la ligne 38, les 2 ou 3 autres lignes suivantes sont masquées, donc le remplissage ne se faisait pas.
https://www.cjoint.com/c/FExrjQfsb1w pour l'année actuelle
https://www.cjoint.com/c/FExrlAFt5Nw pour l'année prochaine
J'avais oublié aussi de dire qu'il fallait que les 2 fichiers soient ouverts dans la même session d'EXCEL.
Le bouton de lancement de la macro est sur la feuille 1 du fichier "Année actuelle".
Cordialement
0
noe2008 Messages postés 183 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 9 novembre 2023 4
31 mai 2016 à 16:45
Salut les amis ,
Une personne m' a résolu le problème c'est exactement ce que je cherchais c'est dire une macro sur le fichier année prochaine qui ouvre l'explorer sans m'imposer un nom pour le fichier "année actuelle"
mais il y un petit problème dans le fichier année prochaine c'est que la macro annule le fusionnement des cellules puis elle trace les bordures
et dans sheet 1 elle trace les bordure pour un grand nombre de cellules et ainsi le fichier est devenu volumineux : 8mo
j'ai besoin d'une petite rectification de la macro pour que le fusionnement des cellules reste analogue à celui de de l’entête tout en imposant une hauteur de ligne égale à 17

merci infiniment
voila les deux fichiers

https://www.cjoint.com/c/FEFoCkd64jk
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
31 mai 2016 à 18:12
Bonjour
Voilà
https://www.cjoint.com/c/FEFqkmMjMvw
Pour le fichier "Année actuelle" vous devez impérativement ne pas laisser de lignes masquées en fin de chaque tableau sinon certaines données ne seront pas recopiées.
Cdlt
0
noe2008 Messages postés 183 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 9 novembre 2023 4
31 mai 2016 à 19:28
Merci frenchie83 c'est fantastique
Une deniere demande : peux tu ajouter dans la macro que la valeur de de la cellule "H8" de chaque feuille "sheet i" du fichier annee actuelle soit aussi importée dans la cellule "H8" de la feuille correspondante "sheet i" du fichier année prochaine et que le fichier annee actuelle soit fermé à la fin
Cordialement
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
31 mai 2016 à 21:02
0
noe2008 Messages postés 183 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 9 novembre 2023 4
31 mai 2016 à 23:38
Grace à vous enfin sujet résolu
Merci infiniment
0