Recherche dans une matrice excel
Résolu
Cocodenso
Messages postés
121
Date d'inscription
Statut
Membre
Dernière intervention
-
Cocodenso Messages postés 121 Date d'inscription Statut Membre Dernière intervention -
Cocodenso Messages postés 121 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je dois mettre en place une recherche dans une matrice (18colonnes:301lignes).
voici un schéma qui me permettra d'illustrer ce que je dois faire
64 aaaa 254 ert
64 bbbb 255 ert
128 cccc 256 ert
256 dddd 257 ert
256 eeee 258 ert
256 ffff 259 ert
mon tableau est trié selon la première colonne (ordre croissant).
Il faut que je sélectionne toutes les lignes avec "64" dans la première colonne par exemple et ressortir les données de la 2eme et 4eme colonne.
J'ai essayé d'utiliser la recherchev mais cela ne fonctionne pas. En effet j'ai une erreur:"Attendu: séparateur de liste ou)" alors que je pense utiliser la bonne syntaxe:
Range ("D7")=RECHERCHEV(64;BDDi!A1:S301;2)
C'est le ";" en gras et souligné qui est surligné comme faute
si quelqu'un peut me donner une petite piste s'il vous plait car je suis un bon débutant en dev VB... :s
Merci d'avance
cdlt
je dois mettre en place une recherche dans une matrice (18colonnes:301lignes).
voici un schéma qui me permettra d'illustrer ce que je dois faire
64 aaaa 254 ert
64 bbbb 255 ert
128 cccc 256 ert
256 dddd 257 ert
256 eeee 258 ert
256 ffff 259 ert
mon tableau est trié selon la première colonne (ordre croissant).
Il faut que je sélectionne toutes les lignes avec "64" dans la première colonne par exemple et ressortir les données de la 2eme et 4eme colonne.
J'ai essayé d'utiliser la recherchev mais cela ne fonctionne pas. En effet j'ai une erreur:"Attendu: séparateur de liste ou)" alors que je pense utiliser la bonne syntaxe:
Range ("D7")=RECHERCHEV(64;BDDi!A1:S301;2)
C'est le ";" en gras et souligné qui est surligné comme faute
si quelqu'un peut me donner une petite piste s'il vous plait car je suis un bon débutant en dev VB... :s
Merci d'avance
cdlt
A voir également:
- Recherche dans une matrice excel
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Si ou excel - Guide
10 réponses
Bonjour,
Tu tiens absolument à du VBA ?
Car le pb peut se résoudre par formules (2 colonnes intermédiaires) ou par formule matricielle (si tu connais ces b^tes là). dans les solutions, voire par VBA, il n'est pas nécessaire de trier la 1° colonne
Tu dis, dans l'attente
Tu tiens absolument à du VBA ?
Car le pb peut se résoudre par formules (2 colonnes intermédiaires) ou par formule matricielle (si tu connais ces b^tes là). dans les solutions, voire par VBA, il n'est pas nécessaire de trier la 1° colonne
Tu dis, dans l'attente
en fait je voulais utiliser le VBA car j'ai créer un bouton pour d'autres opérations mais si les formules sont assez simple ma fois pourquoi pas. pour l'instant je met en place une maquette de test sous excel que je dois présenter dans quelque jours. Donc si ce n'est pas en VBA ce n'est pas non plus dramatique.
Ci joint une solution par formules
https://www.cjoint.com/?cjpr536sxt
Si tu ne connais les matriicelles, je te déconseille la méthode si tu dois la présenter
tu dis si tu veux du VBA, mais à mon avis, cela ne vaut pas lu coup pour 300 lignes
https://www.cjoint.com/?cjpr536sxt
Si tu ne connais les matriicelles, je te déconseille la méthode si tu dois la présenter
tu dis si tu veux du VBA, mais à mon avis, cela ne vaut pas lu coup pour 300 lignes
je te remercie... je commence a avancer mais lors d'un de mes collage, le PasteSpecial a échouer.... j'ai plus qu'a trouver pourquoi ^^
en tous les cas merci bcp je pense que si dans 1h je ss encore sur ce VBA, alors je prendrai ta solution qui est bien plus propre...
franchement ca m'aide bien et je commence a comprendre certaines de mes erreurs
je te tiens au courant si tu veux pour le vba
en tous les cas merci bcp je pense que si dans 1h je ss encore sur ce VBA, alors je prendrai ta solution qui est bien plus propre...
franchement ca m'aide bien et je commence a comprendre certaines de mes erreurs
je te tiens au courant si tu veux pour le vba
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
EN VBA le select-selection paste est à proscrire dans 99% des cas.... bouffe une mémoire considérable et ralentit plus de 500 fois la procédure....
si j'ai 2 minutes (un peu plus quand m^me) je te fais une procédure VBA
si j'ai 2 minutes (un peu plus quand m^me) je te fais une procédure VBA
je viens de penser a ca mais est il gérable avec ta situation d'avoir la matrice sur une feuille et le résultat sur une autre? car en fait ta solution est bien plus propre et plus optimisée que la mienne (if et for imbriqué un bazar monstrueux)
je pense faire un mixe entre mon code et ta solution
je pense faire un mixe entre mon code et ta solution
non non mais t'inquiète pas c'est deja très sympa de ta part alors ne perds pas de temps a faire une procédure VBA c'est deja très sympa de ta part de m'avoir résolut le problème avec ta technique. en plus ca me permet d'apprendre plus encore
bin c'est fait et vu la météo dans mon coin......
avec le classeur
https://www.cjoint.com/?cjqoSMiJfQ
mais crois en un vieux routier; il est mal vu par les responsables info d'utiliser VBA quand on peut utiliser efficacement des formules
Option Base 1 Sub extraire() Dim derlig As Long, choix As Long, nbre As Long, col As Byte, lig As Byte Dim tablo With Sheets(1) choix = Range("choix") 'le meme que par formule lig = 1 nbre = Application.CountIf(Range("ref"), choix) ReDim tablo(nbre, 2) col = Range("ref").Column If nbre > 0 Then For cptr = 1 To nbre lig = .Columns(1).Find(choix, .Cells(lig, col), xlValues).Row tablo(cptr, 1) = .Cells(lig, col + 1) tablo(cptr, 2) = .Cells(lig, col + 3) Next Else MsgBox " référence " & Range("choix") & " inconnue", vbCritical Exit Sub End If End With With Sheets(2) .Range("A5:B300").Clear .Range("A5").Resize(nbre, 2) = tablo .Range("A5:B" & nbre + 4).Borders.Weight = xlThin End With End Sub
avec le classeur
https://www.cjoint.com/?cjqoSMiJfQ
mais crois en un vieux routier; il est mal vu par les responsables info d'utiliser VBA quand on peut utiliser efficacement des formules