XL 2019 copier une ligne en fonction de la valeur d'une cellule

quetzal974

XLDnaute Nouveau
bonjour a tous
je suis en train de rentrer les nouveaux inscrits d'une ecole dans une seule feuille (la feuille1) excel avec les champs NOM;PRENOM;CLASSE;AGE


j'ai créer un menu déroulant pour la colonne CLASSE de l'éleve

j'aimerai que une fois choisi la CLASSE la ligne de l'éleve soit copier dans l'onglet de classe qui a été créer a cet effet

donc quand je choisis CP 1 pour eleve machin la ligne soit copier dans la feuille CP1 automatiquement

j'aurais pas a faire de trier et copier coller dans chaque feuille cp ce1 ce2 etc etc

merci d'avance
 

quetzal974

XLDnaute Nouveau
Bonjour ci joint un exemple du fichier
donc comme citer au dessus est il possible que la ligne de eleve 1 (feuille 1) puisse etre recopier automatiquement dans la feuille PSA quand on choisi sa classe a partir du menu deroulant
 

Pièces jointes

  • adherent.xlsx
    193.4 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Quetzal,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E9:E1000")) Is Nothing Then
        Dim L%, DL%, Feuille$
         Application.ScreenUpdating = False
         If Target = "" Then Exit Sub
         L = Target.Row: Feuille = Cells(L, "E")
         With Sheets(Feuille)
            DL = .[B27].End(xlUp).Row + 1
            .Cells(DL, "B") = Cells(L, "B") 'Nom
            .Cells(DL, "C") = Cells(L, "C") 'Prénom
            .Cells(DL, "D") = Cells(L, "D") 'Date
         End With
    End If
Fin:
Application.ScreenUpdating = True
End Sub
Le transfert se fait lorsqu'on a fait le choix de classe avec le menu déroulant.
( attention à la syntaxe, il y avait "PS A" dans le menu mais "PSA comme nom de feuille )
 

Pièces jointes

  • adherent.xlsm
    206.2 KB · Affichages: 10

quetzal974

XLDnaute Nouveau
Merci sylvanu ca marche
mais je ne vois pas la macro quand je fais alt F8
et il arrive qu'un enfant change de classe au début (les parents sont vraiment ennuyant pour rester poli)
du coup quand je change de classe l'eleve est bien inscrit dans la nouvelle classe mais reste dans l'ancienne classe
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Worksheet_Change est une macro événementielle qui se déclenche sur un événement, ici un changement de valeur dans une cellule.
Cette macro n'est donc pas dans un module mais dans la feuille elle même.
1689261753621.png


et il arrive qu'un enfant change de classe au début (les parents sont vraiment ennuyant pour rester poli)
du coup quand je change de classe l'eleve est bien inscrit dans la nouvelle classe mais reste dans l'ancienne classe
Ca, c'est plus complexe car la macro enregistre la nouvelle valeur mais non l'ancienne.
Ne serait ce pas plus simple de le faire à la main ?
 

quetzal974

XLDnaute Nouveau
merci

"Autre solution : Interdire tout changement de classe après inscription."
oui on devrait voter une loi pour ca
sinon je me suis permit de faire mes recherches en attendant et chatgpt m'a pondu çà en PJ

en tout cas je te remercie je perds moins de cheveux grace a toi
 

Pièces jointes

  • VBA.txt
    1.2 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Méfiez vous de ChatGPT, ses réponses ne sont pas toujours pertinentes. tout dépend de votre question.
En l'occurrence il prend la valeur du menu déroulant et va mettre la ligne dans la bonne feuille.
En aucun cas il ne supprime l'ancienne ligne, si elle était déjà enregistrée.
Exactement comme moi mais pas en automatique, il faut lancer la macro à la main et lui donner la ligne à traiter.
 

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 137
Membres
112 668
dernier inscrit
foyoman