Créer une liste à partir d'une feuille

Bonjour, le titre n'est pas très explicite mais je vais tenter d'être plus clair. J'ai un classeur dans lequel se trouve une liste de titres de musique. J'aimerais créer un bouton à côté de chaque titre qui, lorsque je clique dessus, enverrai le titre en question dans une autre feuille, si ensuite je clique sur un autre bouton, le titre apparaitra en dessous. Le but, pouvoir créer une liste à partir d'une autre dans un ordre bien défini en fonction de mes cliques. Voila, pas sur d'être très clair, je joint le fichier, ce sera peut-être plus parlant. Merci d'avance !

9test.xlsx (41.04 Ko)

Bonjour,

Vous devriez mettre votre profil à jour. On ne sait pas la version d'excel que vous utilisez.

Evitez absolument les objets sur votre feuille qui plus est vous en auriez tellement ...

Faite ceci :
- click droite sur l"onglet GENERAL
- choisir l'option "Visualiser le code"
- coller le code ci-dessous dans la fenetre

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lig As Integer, dlg As Integer

If Not Intersect(Target, Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    With Sheets("SETLIST")
        dlg = .Range("A" & Rows.Count).End(xlUp).Row + 1 'derniere ligne dispo en colonne A
        On Error Resume Next
        lig = .Range("A:A").Find(Target.Offset(0, -1), LookIn:=xlValues, lookat:=xlWhole).Row 'chercher ligne pour vérifier su reference existe
        If lig > 0 Then Exit Sub 'si ligne trouvee on sort du code
        On Error GoTo 0
        .Range("A" & dlg) = Range("A" & Target.Row) 'copie reference dans colonne A feuille Setlist
        .Range("B" & dlg) = Range("B" & Target.Row) 'copie reference dans colonne B feuille Setlist
    End With
   Target.Offset(0, -1).Select
End If
End Sub

- enregistrez votre fichier au format XLSM

Cliquez sur un titre dans la colonne B et cela mettra le titre et sa référence dans la feuille SETLIST

Cordialement

Bonjour et merci de la réponse. C'est vrai que je n'ai pas pris le temps de compléter mon profil... Je suis sur mac et c'est un Excel 2016. Du coup forcement, pas d'onglet "général" et je ne vois pas le "visualiser le code". Encore merci en tous les cas

C'est bon j'ai trouvé encore merci c'est super !

J'ai cependant une question. En fait, je voudrais que les titres dans la feuille setlist soient classés de 1 à ... donc ne pas copier la colonne A de la feuille générale.

C'est vrai que je n'ai pas pris le temps de compléter mon profil... Je suis sur mac et c'est un Excel 2016

çà c'est une bonne raison de le compléter. Si je l'avais su je ne vous aurais pas guidé de cette manière pour placer le code dans la feuille

En fait, je voudrais que les titres dans la feuille setlist soient classés de 1 à ... donc ne pas copier la colonne A de la feuille générale.

Pas sûr d'avoir compris. Vous voulez que seuls les titres soient dans la feuille SETLIST sans le chiffre en colonne A ou vous voulez simplement renuméroter en colonne A ?

Cela m'intrigue que vous fassiez cela avec Excel car avec Apple music ou Itunes vous pouvez faire aussi une ou des play list aussi non ?

Non je suis musicien et je pars pour une série de concerts. Donc j'ai la totalité des morceaux dans la feuille "générale" et je dois faire une setlist différente chaque jour pour chaque concert, d'où l'intérêt de la feuille "setlist" ;)

Dans la colonne A de la feuille setlist je voudrais que les morceaux soient numérotés de 1 à 20 par exemple

Dans la colonne A de la feuille setlist je voudrais que les morceaux soient numérotés de 1 à 20 par exemple

Ah ok. Alors c'est simple dans le code juste en dessous de la ligne ON ERROR RESUME NEXT, remplacez la ligne comme ceci

.Range("A" & dlg) = WorksheetFunction.Max(.Range("A:A")) + 1 

Non je suis musicien et je pars pour une série de concerts.

Bien çà, cela me rappelle mon jeune temps... je comprends que itunes ou Apple music ne va pas arranger

Tiens dans votre liste, vous avez des titres en rouge. C'était une idée pour voir ce que vous aviez choisi de mettre en SETLIST ?

Non en rouge ce sont les morceaux uniquement guitare-voix

OK. Bons concerts alors !

Si terminé

Cordialement

Merci de ton temps. En revanche, ça ne fonctionne pas, rien ne change

En revanche, ça ne fonctionne pas, rien ne change

comment ça rien ne change ? J'ai testé avant de poster...

Votre code est bien comme ceci maintenant ??

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lig As Integer, dlg As Integer

If Not Intersect(Target, Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    With Sheets("SETLIST")
        dlg = .Range("A" & Rows.Count).End(xlUp).Row + 1 'derniere ligne dispo en colonne A
        On Error Resume Next
        lig = .Range("A:A").Find(Target.Offset(0, -1), LookIn:=xlValues, lookat:=xlWhole).Row 'chercher ligne pour vérifier su reference existe
        If lig > 0 Then Exit Sub 'si ligne trouvee on sort du code
        On Error GoTo 0
        .Range("A" & dlg) = WorksheetFunction.Max(.Range("A:A")) + 1
        .Range("B" & dlg) = Range("B" & Target.Row) 'copie reference dans colonne B feuille Setlist
    End With
   Target.Offset(0, -1).Select
End If
End Sub

Ok avec ce code ça fonctionne, j'ai du me planter quelque part ! Merci beaucoup de ta patience !!

Rechercher des sujets similaires à "creer liste partir feuille"