VBA Rechercher puis reporter une valeur
romainagassi
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
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.
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:
- VBA Rechercher puis reporter une valeur
- Rechercher ou saisir une url - Guide
- Rechercher une chanson - Guide
- Rechercher une image - Guide
- Rechercher remplacer word - Guide
- Rechercher ou entrer l'adresse - Guide
2 réponses
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
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
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
mais cela se fait sans VBA
en B3 tu écris
et tu tires vers le bas
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
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
Merci d avance