VBA Rechercher puis reporter une valeur

Fermé
romainagassi - 5 nov. 2009 à 09:47
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 7 nov. 2009 à 10:03
Bonjour,

Voila mon petit tableau


A B C D E F G H
1 janv 1
2 janv fev 2
3 fev mar 3
4 mar
5


Je voudrai creer un code qui me permettrait de chercher dans la colonne E les cellules identiques a A2,A3 et A4 et de reporter les valeurs correspondantes de la colonne F dans la colonne B. (en clair le 1 de janvier en B2, le 2 de fevrier en B3 et le 3 de mars en B4).
jai simplifie mon tableau volontairement. Il fait en realite 2000 lignes et comporte autres choses que des mois, jadapterai le code ensuite.


Voila mon code, et quand je le lance il me demande object required et revient sur "Set valeur trouve"

Sub exo()
Dim Valeur_Transfer
Dim Valeur_Trouve As Integer

Dim Z_Row As Integer

For Z_Row = 2 To 4

Set Valeur_Trouve = Sheets("rom").Range("E1:E3").Find(Sheets("rom").Cells(Z_Row, 1), lookat:=xlWhole)
If Valeur_Trouve Is Nothing Then

Else


Valeur_Trouve.Select

ActiveCell.Offset(0, 1).Value = Valeur_Transfer
Cells(Z_Row, 1).Offset(0, 1).Value = Valeur_Transfer


End If

End Sub

Merci beaucoup pour votre aide.
A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 nov. 2009 à 10:09
bonjour

mets un extrait de ton tableau ( env 10 lignes) sur
https://www.cjoint.com/
et copies colles le lien proposé dans ton message

chercher dans la colonne E les cellules identiques a A2,A3 et A4 et de reporter les valeurs correspondantes de la colonne F dans la colonne B. (en clair le 1 de janvier en B2, le 2 de fevrier en B3 et le 3 de mars en B4).

j'ai rien compris !!!

et mets un extrait de ton tableau ( env 10 lignes) sur
https://www.cjoint.com/
et copies colles le lien proposé dans ton m
0
romainagassi
6 nov. 2009 à 10:14
Bonjour!!

Merci de mavoir repondu malgre le peu de clarte de mon message!!! Jai envoye mon tableau ac des explications plus claires...

https://www.cjoint.com/?lgkmMQlIRF

Merci d avance!!!

Romain
0
romainagassi
7 nov. 2009 à 08:40
Aussi aurai je du preciser que l utilisation de recherche V n est pas possible dans mon vrai tableau .. les donnees a recuperer etant a gauche des cellules cibles... il me faut donc un petit code sur cet exemple que je pourrai modifier facilement pr ladapter a mon tableau.
Merci d avance
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 nov. 2009 à 10:03
bonjour,
l'exemple que tu m'as envoyé est faux car tu t'es contenté de faire un copier coller des valeurs 3 , 4, 8, de la colonne F à la colonne B alors que tu demandes la valeur de jan, fev, mar dans ton énoncé...
c'est pas très sérieux de ta part

si l'énoncé est bon

avec du VBA pour le fun
Sub exempledonné_faux()
derlig = Range("A65536").End(xlUp).Row
For cptr = 4 To derlig
    Cells(cptr, 2) = Columns(5).Find(Cells(cptr, 1), Range("E2"), xlValues).Offset(0, 1).Value
 Next
End Sub


mais cela se fait sans VBA
en B3 tu écris
=INDEX(F$2:F$100;EQUIV(A3;E$2:E$100;0))

et tu tires vers le bas
0