Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recherche difficile

cmbodson

XLDnaute Nouveau
Salutations,

Je fais un test pour comprendre comment fonctionne les recherches.

Sur mon classeur ci-joint, vous trouverez :
de A7 à A11 : des nombres
de B7 à B11 : des lettres
de C7 à C11 : un concatener des deux
de D7 à D11 : une liste de choix (provenant des lignes A24 à A28)
de E7 à E11 : une copie de la colonne C (pour faciliter la position des colonnes dans une rechercheV)

En I1, J1, K1, L1, M1 : le titre des locaux

En I3 : RECHERCHEV sur la donnée A24 dans la matrice D7:E11

Ma question, dans la save, vous constatez que j'ai placé 3 personnes dans le local1, j'aimerais savoir comment on peut les avoir inscrits les uns à la suite des autres dans la colonne I à partir de I3. Prévoyant que 290 lignes peuvent être utilisées dans les colonnes I à M. Exemple : si sur 290 personnes, 28 se trouvent dans le local1, qu'il y ait une liste des 28 noms de I3 à I30

Merci d'avance.
 

Pièces jointes

  • testliste.xls
    25.5 KB · Affichages: 42
  • testliste.xls
    25.5 KB · Affichages: 42
  • testliste.xls
    25.5 KB · Affichages: 43

CISCO

XLDnaute Barbatruc
Re : recherche difficile

Bonjour

Une possibilité en pièce jointe, avec une formule matricielle à valider avec ctrl+maj+entrée.

Je n'ai fait le travail qu'avec les plages de ton exemple. A toi de comprendre la formule et de l'adapter à ton cas réel, avec 290 noms.

@ plus.
 

Pièces jointes

  • testliste.xls
    26.5 KB · Affichages: 46
  • testliste.xls
    26.5 KB · Affichages: 45
  • testliste.xls
    26.5 KB · Affichages: 45

cmbodson

XLDnaute Nouveau
Re : recherche difficile

Merci, comment on fait Ctrl-Maj-ENTER ?

J'appuie en même temps sur Ctrl-Shit(Maj)-ENTER et rien ne se passe.

Je ne vois pas, pourrais-tu préciser ? merci
 
Dernière édition:

eriiic

XLDnaute Barbatruc
Re : recherche difficile

Bonjour,

il faut que tu sois en édition de la formule (avec le curseur dedans) pour faire la validation.
Si elle est bien faite la formule d'entoure de { }
eric
 

cmbodson

XLDnaute Nouveau
Re : recherche difficile

merci. effectivement, çà valide la formule, mais...

Cela dépasse très très largement mes compétences de noob... pourriez-vous me transcrire un VBA dans un module, sur le classeur ?
 

eriiic

XLDnaute Barbatruc
Re : recherche difficile

Bonjour,

J'ai enlévé de ta feuille ce qui servait à rien, et déplacé la liste 'local' dans une autre feuille (garder ce nom, il sert à créer les titres des colonnes des locaux en Feuil1).
Code:
Private Sub BtnLister_Click()
    Dim lig As Long ', lig2 As Long, col2 As Long
    Dim c As Range, erreurs As Long
    Application.ScreenUpdating = False
    ' recup liste locaux
    [E1].Resize(1, [local].Cells.Count) = Application.Transpose([local])
    For lig = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        ' recup colonne local
        Set c = Rows(1).Find(Cells(lig, 3), LookIn:=xlValues, lookat:=xlWhole)
        If c Is Nothing Then
            ' local inconnu
            erreurs = erreurs + 1
            Cells(lig, 3).Interior.ColorIndex = vbRed
        Else
            ' ajouter nom
            Cells(Cells(Rows.Count, c.Column).End(xlUp).Row + 1, c.Column) = Cells(lig, 1) & " " & Cells(lig, 2)
        End If
    Next lig
    Application.ScreenUpdating = True
    If erreurs > 0 Then MsgBox (erreurs & " locaux inconnus surlignés en rouge.")
End Sub

eric
 

Pièces jointes

  • Classeur2.xls
    40 KB · Affichages: 37
  • Classeur2.xls
    40 KB · Affichages: 44
  • Classeur2.xls
    40 KB · Affichages: 40

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : recherche difficile

Bonjour cmbodson,

Voir fichier joint

Une formule H2 à copier vers la droite
Code:
=INDEX(local;COLONNE()+1-COLONNE($H:$H))

Une formule matricielle ( à valider par Ctrl+Maj+Entrée) en H3 à copier vers la droite puis vers le bas
Code:
=SI(ESTERREUR(PETITE.VALEUR(SI($C$7:$C$27=H$2;LIGNE($C$7:$C$27)+1-LIGNE($A$7);"");LIGNE()-2));"";     INDEX($A$7:$A$27;PETITE.VALEUR(SI($C$7:$C$27=H$2;LIGNE($C$7:$C$27)+1-LIGNE($A$7);"");LIGNE()-2)) & " " & INDEX($B$7:$B$27;PETITE.VALEUR(SI($C$7:$C$27=H$2;LIGNE($C$7:$C$27)+1-LIGNE($A$7);"");LIGNE()-2)))

NB : Pas bien réveillé - pas vu que les réponses avaient été apportées - je me recouche
 

Pièces jointes

  • testliste.xls v1.xls
    57.5 KB · Affichages: 39
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : recherche difficile

Bonjour @ tous,
sur le fichier de mapomme que je salue,
en H3,
Code:
=SI(LIGNES($3:3)<=NB.SI($C$7:$C$20;H$2);INDEX($A$7:$A$20&" "&$B$7:$B$20;PETITE.VALEUR(SI($C$7:$C$20=H$2;LIGNE(INDIRECT("1:"&LIGNES(C$7:C$20))));LIGNES($3:3)));"")
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas et vers la droite
@ micalement
 

cmbodson

XLDnaute Nouveau
Re : recherche difficile

Merci à tous, c'est très sympa. Je vais utiliser le Vba de Eriiiic car la matricielle, c'est trop compliqué pour mes petites compétences, tandis que le Vba m'est plus accessible, même si celui-ci je ne l'aurais jamais trouvé seul.

Merci à Eriiiic qui a trouvé exactement ce que je cherchais. Elle est très bien réalisée, permets d'ajouter autant de ligne ou de colonne (local) que l'on souhaite. Merci.
Au fait, la feuille 3 te sers à quelqu'un chose ? ou puis-je l'effacer ?
 

Discussions similaires

Réponses
10
Affichages
377
Réponses
13
Affichages
556
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…