Récupérer les données d'une sélection au hasard

Fermé
didi - 30 avril 2015 à 05:51
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 11 mai 2015 à 11:26
Bonjour,
je voudrais saisir sur une feuille excel une longue liste de compétences à cocher. Ensuite, lorsque je coche une compétence, je voudrais qu'elle apparaisse dans une cellule défini sur une autre feuille et ainsi de suite pour constituer une autre liste plus restreinte.
Est-ce que c'est possible?


3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
30 avril 2015 à 08:44
Bonjour,

Par exemple, avec les compétences en colonne A, la saisie d'un x (majuscule ou minuscule) dans la colonne B copie/colle la valeur en feuille Feuil2. La suppression d'une croix supprime toute la ligne correspondante en Feuil2.
La macro :
Ce code est à insérer dans le module de la feuille : Clic droit sur l'onglet/Visualiser le code
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 2 Or Target.Count > 1 Then Exit Sub
    Select Case UCase(Target)
        Case "X": Target.Offset(0, -1).Copy Sheets(2).Range("A" & Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1)
        Case ""
            Dim rng As Range
            Set rng = Sheets(2).Columns(1).Cells.Find(Target.Offset(0, -1), lookat:=xlWhole)
            If Not rng Is Nothing Then Sheets(2).Rows(rng.Row).Delete
        Case Else
            Application.EnableEvents = False
            Target = ""
            Application.EnableEvents = True
            MsgBox "Boudiou! on a dit de n'écrire que des X"
    End Select
End Sub

Le fichier exemple : https://www.cjoint.com/c/EDEi3IeeQfL
0
Merci pour ta réponse.
est-ce qu'il y a un tutoriel pour comprendre la programmation, le code ?
je suis novice.....
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751 > didi
30 avril 2015 à 19:02
Des tutos il en existe plein sur Internet...
Si tu ne comprends pas quelque chose dans le code, demande...
0
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
30 avril 2015 à 20:36
Bonjour didi,

Pour comprendre le code, Il y a 3 outils principaux.
1 - l'enregistreur de macro
Tu commences a enregistrer, tu fais quelque chose, et tu stop, tu vas ensuite voir dans visual basic editor comment excel traduit tes actions en code VBA.
L'enregistreur de macro n'est pas très intelligent et souvent passe par plusieurs détour avant de faire quelque chose. C'est très basic, mais moi je trouve 50% des réponses à mes questions par la.
2 - Google
Comme pijaku le mentionne, internet est ton ami. Je google les fonctions que l'enregistreur de macro me donne pour voir des exemples. On regarde des exemples encore et encore et on fini par comprendre.
3 - La trace pas à pas
Parfait. maintenant, on a notre macro, des variables, des boucles, des conditions, et CA NE MARCHE TOUJOURS PAS !
Avant de tuer son voisin, on va dans l'editeur Visual basic et on va mettre un point d'arret dans notre code. on lance notre macro, et voila, excel arrete l'exécution à notre point d'arret et on fait F8 pour avancer ligne par ligne. On survole nos variable avec la souris pour voir c'est quoi la valeur au moment de l'exécution, ou on voit que dans une condition il ne réagit pas comme prévu....
Donc on prend le bout de code qui ne marche pas, et on corrige si on a trouver le bobo. sinon retour au point #2, on google pour trouver d'autre exemple. dans le code.
0
Merci beaucoup pour vos aides.
je vais suivre vos conseils et si j'ai d'autres questions je reviendrai vers vous
merci encore....
0
bonjour,
j'ai essayé d'insérer le code pour ce que je voulais faire mais je n'y arrive pas.
mon fichier se présente ainsi.
feuil 1 feuil2=CHOIX1 feuil3=CHOIX2
CHOIX1 CHOIX 2 CHOIX 3 choix 1 choix 2
C1 X X C1 C1
C2 X C4 C2
C3 X
C4 X
C5 X

est-ce que c'est possible?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 9/05/2015 à 07:57
Bonjour
On peut utiliser des formules et se passer de VBA pour résoudre ta demande (formules DECALER, EQUIV et INDEX)
si ca t'intéresse, tu dis...
et tu joins ton classeur. Pour cela:
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le lien proposé dans le message de réponse

Michel
0
Merci pour ta proposition.
ci-joint le classeur exemple:
http://cjoint.com/?0EjxmlhTMP0
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
10 mai 2015 à 09:10
Bonjour,
Bien reçu ton classeur: est ce un exemple ou le classeur réel ?
il s'avère que chaque fois qu'un demandeur envoie un exemple vite fait, la proposition en réponse ne convient pas - surtout si on utilise le vba- et il faudrait parfois tout recommencer d'où découragement et abandon...

dans ton cas, suivant le classeur, se posera la question du VBA ou des formules
dans l'attente,
cordialement
0
didi > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
10 mai 2015 à 18:24
Bonjour,
le classeur joint n'est qu'un exemple car je ne l'ai pas encore finalisé. L'exemple que je t'ai donné est l'idée générale sur laquelle je voudrais travaillé.
Merci encore pour ton aide.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
11 mai 2015 à 11:26
Bonjour
ci joint proposition partielle sur P1
j'ai supprimé la feuille programme car compliquant pas mal le classeur
la sélection des questions s'effectuant directement sur la feuille P1 par validation de données
je te laisse faire pour les autres programmes (nombre inconnu pour moi)

Tu auras besoin de macros simples pour éditer les bulletins des élèves (boucle sur le nom de l'élève cellule nommée "identite" dans la feuille "bulletin"
a toi d'aménager la ou les feuilles bulletin

https://www.cjoint.com/?3EllOizFaf3
0