VBA Recherche

NoMercy007

XLDnaute Nouveau
Bonjour à tous

Je suis nouveau sur ce forum, et débutant en VBA excel 2010.

Sur ma feuille RECH j'ai une liste en B2 (alimentée par la feuille PARAM)
Lorsque je saisis une valeur dans cette liste, je veux que la recherche se fasse dans la feuille DATA (de la ligne 2 à toutes les lignes remplies), et que tout ce qui a été trouvé correspondant à la recherche s'affiche dans les cellules B8,E8,H8 et ainsi de suite dans les cellules B10,E10,H10, etc..., de la feuille RECH.

J'ai cherché des réponses en vain sur les forums, et essayé des lignes de programmation sans résultat.

Merci par avance de vos réponses.
 

Pièces jointes

  • test.xlsm
    15.6 KB · Affichages: 29
  • test.xlsm
    15.6 KB · Affichages: 43
  • test.xlsm
    15.6 KB · Affichages: 42

Modeste

XLDnaute Barbatruc
Re : VBA Recherche

Bonjour,

Si Si... (pas l'impératrice, hein) repasse par ici, il rectifiera Si... besoin!?

Il faut d'abord t'arranger pour que la corbeille apparaisse en colonne V. Tu te souviens que Si... a masqué 2 lignes (qui sont reproduites dans la procédure Worksheet_Change)? Commence donc par afficher ces 2 lignes (8 et 9) et déplace la corbeille en colonne V (en fusionnant V8 et V9 au passage, puisque tu aimes ça). J'en profite pour confirmer que le 3 est bien la valeur figurant dans la cellule ... elle apparaît sous forme de corbeille parce que la police utilisée est la "Wingdings 2". Masque ensuite à nouveau les deux lignes.

Dans la Sub Worksheet_Change il faut donc copier la plage B8:V9 au lieu de B8:J9 (en ligne 11 dans le code)

Reste enfin à tester dans l'événement Worksheet_SelectionChange, si c'est bien en colonne V qu'a lieu la sélection. Écris donc
If R.Column = 22 And R(1, 1) = 3 Then ...
 

Si...

XLDnaute Barbatruc
Re : VBA Recherche

Re

un "poil" (voire une barbe) plus lent que Modeste :D que je remercie d'apporter un SAV,

dans If R.Column =10 And R(1, 1) = 3 Then

- le 3 est bien le caractère spécial "corbeille"

- R(1,1), peu souvent utilisé mais pourtant très pratique, désigne la première cellule de la sélection (fusion oblige)

- Le 10 est le numéro de la colonne J donc pour V prendre 22

Remarque : =Colonne() permet de retrouver le numéro de la colonne sans compter sur les doigts !
 

NoMercy007

XLDnaute Nouveau
Re : VBA Recherche

C'est bien ce que j'avais compris, il me reste un peu de neurone !!!;)
Mais l'action sur la corbeille n'a plus d'effet, et en prime la colonne J ne s'affiche pas (un détail).

Voila encore mes problèmes.:(
 

Pièces jointes

  • Recherche et copie (cellules fusionnées) 3.xlsm
    32.2 KB · Affichages: 20
  • Recherche et copie (cellules fusionnées) 3.xlsm
    32.2 KB · Affichages: 33
  • Recherche et copie (cellules fusionnées) 3.xlsm
    32.2 KB · Affichages: 44

Discussions similaires

Statistiques des forums

Discussions
312 970
Messages
2 094 044
Membres
105 926
dernier inscrit
Odyssea