Vous avez des questions ? Nous avons les reponses.
Vous n'êtes pas connecté ! Si vous n'êtes pas encore membre, inscrivez-vous c'est Gratuit
| Pour utiliser ce forum : 1. Inscrivez vous en cliquant ici 2. Ensuite, naviguez jusqu'au forum qui convient le mieux à votre question (Windows, Office...) et cliquez sur le lien "poser une question" en haut à droite de la page. Vous pourrez alors poser vos questions Si vous n'êtes pas un membre du forum, vous pourrez uniquement consulter les discussions. |
NOUVEAU !Recevez GRATUITEMENT nos COURS et ASTUCES et commencez à progresser dès aujourd'hui! |
Veuillez m'aider pour faire la recherche par VBA dans un grand tableau excel; la question est la suivante:
1)En inscrivant dans une cellule ;qui n'appartient pas au tableau, ex cellule A1,une valeur quelconque de la 1ère colonne à gauche dont les valeurs ne se répètent pas.
2)en inscrivant dans une cellule ;qui n'appartient pas au tableau, par ex :cellule A2
une valeur quelconque de la 1ère ligne d'en haut dont les valeurs ne se répètent pas.
3)Résultat ;automatiquement en A3 , on aura la valeur de l'intersection de la colonne et de la ligne qui contiennent les valeurs entrées en A1 et A2.
EXEMPLES: A1=12 et A2=2,562 donne: A3=5lm
A1=10 et A2=0.66 donne: A3=6
A1=15 et A2=route donne: A3=GTY
etc...
Tableau exemple.
1,653 2,562 5,654 route 0,66
11 66 zer ad 88 33
12 fjuy 5lm 56 26 gt
13 °°° 3H VB FF TT
14 QWE GTR NJ MP 6
10 5 5555 66666 FGT,1 254
15 FGT 558 356 GTY FR
Veullez m'excuser pour la question un peu longue !
Merci à vous.
Dernière modification par abderrahim (29-03-2007 21:21:33)
Hors ligne
Voici l'algorithme plus ou moins exacte, cela fait un moment que je ne travaille plus sous VBA je suis donc un peu rouillé mais je pense que cela devrait faire l'affaire
- Etape 1 : Trouver la ligne
Dim L As Integer
L = Cells.Find(What:=Range("A1").Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Row
- Etape 2 : Trouver la colonne
Dim C As Integer
C = Cells.Find(What:=Range("A2").Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Column
- Etape 3 : Mettre la valeur dans la cellule A3
Range("A3").value = Range(Cells(L,C),Cells(L,C)).value
Et non ! ta question n'est pas trop longue elle est juste bien expliquée et mérite donc une reponse !
Hors ligne