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

didi -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Modérateur Dernière intervention   2 761
 
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
didi
 
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   Statut Modérateur Dernière intervention   2 761 > didi
 
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   Statut Membre Dernière intervention   26
 
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
didi
 
Merci beaucoup pour vos aides.
je vais suivre vos conseils et si j'ai d'autres questions je reviendrai vers vous
merci encore....
0
didi
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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
didi
 
Merci pour ta proposition.
ci-joint le classeur exemple:
http://cjoint.com/?0EjxmlhTMP0
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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