liste automatique avec formule + cochage de bouton

mrzaitsev90

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit souci avec les boutons.

sur le fichier joint, vous trouverez un petit tableau.

- 3 colonnes avec des données à cocher : OP10.1, OP10.2, OP20

- Dans la plage I12:I19 des lettres.

J'aimerais qu'en sélectionnant une des en-têtes avec la liste déroulante présente en cellule J24, on retrouve dans la plage I25:I31 les lettres présentes pour cette colonne si les cases ont été cochées dans cette colonne.

ex: Si l'on choisit OP10.1 dans la liste déroulante, on devrait trouver les lettres A, B, C dans cette ordre dans la plage à gauche de la liste déroulante. 2 exemples dans le fichier joint.

Je remercie d'avance ceux qui pourront m'offrir leurs lumières sur cette exercice.

Merci.

Mrzaitsev90
 

Pièces jointes

  • problème.xls
    38.5 KB · Affichages: 36
  • problème.xls
    38.5 KB · Affichages: 43
  • problème.xls
    38.5 KB · Affichages: 41

Robert

XLDnaute Barbatruc
Repose en paix
Re : liste automatique avec formule + cochage de bouton

Bonjour Mrzaitsev, bonjour le forum,

Pas sûr d'avoir bien compris... En pièce jointe ton fichier modifié avec le code ci-dessous :

Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim COL As Byte 'déclare la variable COL (COLonne)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

If Target.Address <> "$J$24" Then Exit Sub 'si le changement a lieu ailleurs qu'en J24, sort de la procédure
Range("I25:I31").ClearContents 'efface d'éventuelles anciennes données dans la plage I25:I31
If Target.Value = "" Then Exit Sub 'si J24 est effacée, sort de la procédure
COL = Range("J11:L11").Find(Target.Value, , xlValues, xlWhole).Column 'définit la colonne COL
For Each CEL In Range(Cells(12, COL), Cells(19, COL)) 'boucle sur les cellules des lignes 12 à 19 de la colonne COL
    If CEL.Value = True Then 'condition : si la valeur de la cellule est "Vrai"
        'définit la cellule de destination DEST (I25 si I25 est vide, sinon la première ligne vide de la colonne I)
        Set DEST = IIf(Range("I25").Value = "", Range("I25"), Cells(Application.Rows.Count, 9).End(xlUp).Offset(1, 0))
        'la cellule de destination DEST prend la valeur de la cellule dans la même ligne que CEL, colonne 9 (=I)
        DEST.Value = Cells(CEL.Row, 9).Value
    End If 'fin de la condition
Next CEL 'prochaine cellule de la boucle
End Sub

Je ne comprends pas pourquoi la plage de réception contient 7 lignes (I25:I31) alors que la plage source en contient 8 (J12:J19, ou K12:K19, ou L12:L129)
Le fichier :
 

Pièces jointes

  • Mrzaitsev_v01.xls
    61.5 KB · Affichages: 39

mrzaitsev90

XLDnaute Occasionnel
Re : liste automatique avec formule + cochage de bouton

Bonjour Robert,

Merci de cette réponse ultra rapide et efficace.

Je me demandais s'il ne serait pas possible de le faire avec des formules que je puisse adapter facilement.

En utilisant le fait, que chaque case est attribuée à la cellule en "dessous" et que quand on coche cela donne "VRAI" serait-il possible de trouver une formule qui me fasse exactement la même chose que ce que vous avez fait.

La macro est très efficace par ailleurs.

Cela me serait d'une grande aide.

Merci à vous.

Mrzaitsev90
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : liste automatique avec formule + cochage de bouton

Bonsoir Mrzaitsev, bonsoir le forum,

Je me demandais s'il ne serait pas possible de le faire avec des formules que je puisse adapter facilement.

Avec les super balèzes de la formule qui traînent ici tu devrais trouver ton bonheur mais je ne m'y risque même pas tellement je suis nul en formules...
 

mrzaitsev90

XLDnaute Occasionnel
Re : liste automatique avec formule + cochage de bouton

Bonsoir robert,

OK ça marche , merci de ton aide ;)

Messieurs, mesdames, ou mesdemoiselles du forum, si quelqu'un aurait une solution à ce problème en utilisant des formules?

MErci de toute aide.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise