Probleme pour rechercher et situer une celluel selon sa valeur

veesti

XLDnaute Nouveau
Bonjour le forum,
J'ai un souci dont je ne trouve pas le solution sur le forum (malgré de nombreuses recherches!)
En fait, j'ai une valeur, appelons la x.
Cette valeur se trouve dans une feuille, la feui1.

Dans la feuil2, il y a un tableau, disons A1:D6 où se trouve cette valeur.
J'aimerais alors recherche dans tableau la valeur x de la feuil1. Cela parait naze mais je ne sais pas comment l'ecrire.
J'ai essayé en faisant une boucle sur les lignes et les colonnes
For k = 1 To [A65536].End(xlUp).Row
For l = 1 To [UV1].End(xlUp).Column
cells (k,l)=x
next
next

Mais cela prend beaucoup de temps!
De plus j'aimerais savoir le numéro de ligne où se trouve la cellule contenant x dans le tableau.
En gros j'aimerais dire:
ligne=numero de ligne de la cellule contenant la valeur x dans le tableau A1:D6.

Merci de votre aide.

A plus

Veesti
 
G

Guest

Guest
Re : Probleme pour rechercher et situer une celluel selon sa valeur

bonsoir Veesti,

une façon comme une autre, mais sans boucle
Code:
dim c as range
 
set c=Range("A1:B6").Find(What:=x, Lookin:=Xlvalues)
 
If not c is Nothing then Ligne=c.row

A+
 

job75

XLDnaute Barbatruc
Re : Probleme pour rechercher et situer une celluel selon sa valeur

Bonsoir à tous,

Si l'on est sûr que x n'est présent qu'une seule fois dans le tableau A1: D6

la ligne est donnée par :
=SOMMEPROD((A: D6=x)*LIGNE(A1: D6))

la colonne par :
=SOMMEPROD((A: D6=x)*COLONNE(A1: D6))

et l'adresse par :
=ADRESSE(SOMMEPROD((A: D6=x)*LIGNE(A1: D6));SOMMEPROD((A: D6=x)*COLONNE(A1: D6)))

(supprimer les espaces)

A+
 
Dernière édition:

veesti

XLDnaute Nouveau
Re : Probleme pour rechercher et situer une celluel selon sa valeur

merci à tous pour vos réponses multiples et variées!
j'avais essayé la dernière méthode, mais elle ne marche pas en visual, j'ai l'impression que certaine des fonctions Excel que l'on entre avec un = dans une cellule ne suivent pas le même fonctionnement dans le langage VBA.

J'ai trouvé en parallèle une méthode qui semble bien fonctionner, même si elle prend un peu de temps encore.
En fait je recherche dans une plage de cellules variables range(cells(i,3),cells(i,20)) par exemple. Donc plutot de rechercher dans tout un tableau plutot grand, il il cherche ligne par ligne, ce qui me paraît etre plus rapide (peut etre je me trompe lourdement!dites moi si oui!)

Sinon, j'ai encore un souci que mon entendement ne parvient à résoudre.
En fait j'ai travaillé sur une copie de mon fichier pour tester les différentes programmations.
Seulement lorsque je test exactement la même programation, ligne par ligne, mot pour mot (en copie coller) sur le même fichier mais original, je n'obtiens pas du tout la même action: pour l'un (celui de la copie) ca marche comme je veux, et pour l'autre il s'arrête en milieu de chemin!

Quelqu'un pourrait il m'expliquer pourquoi cela fait ca??!!

Merci encore

A bientot

Veesti
 

job75

XLDnaute Barbatruc
Re : Probleme pour rechercher et situer une celluel selon sa valeur

Bonsoir,
Concernant les fonctions Excel sur VBA, il faut bien sûr appliquer une syntaxe correcte :
- traduction anglaise
- les faire précéder de Application. ou les englober dans Evaluate("...")
Par exemple pour SOMMEPROD utiliser :
Application.SumProduct()
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 545
Messages
2 089 471
Membres
104 174
dernier inscrit
Jeanpy NGUVUMALI SAIDI