Recherche une valeur variable dans une autre feuille
hey-j
Messages postés
1
Statut
Membre
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour à tous,
je suis nouveau dans le VBA et j'ai besoin de faire une macro assez complexe et je n'en vois pas le bout.
Principe de la macro:
Je cherche en fait à rassembler des valeurs éparpillées dans une seule colonne afin de pouvoir faire des comparatifs simples.
Mettons une liste dans une feuille 1 :
A1
A2
A3
Je voudrais faire la recherche de ce que contient "A1" dans une feuille 2. Une fois la valeur trouvée, aller à l'occurence suivante du mot "Total". Une fois la ligne trouvée, se déplacer de 5 colonnes à droite. Copier la valeur de cette cellule en particulier, et la coller dans la feuille 1 en B1.
Et si c'est possible, l'automatiser pour une colonne longue d'environ 600 lignes...
Quand j'essaye d'enregistrer la macro, voici le code que j'obtiens :
Ca fonctionne seulement pour une cellule. Si je me déplace en A2, la valeur qui sera collée en B2 sera exactement la même qu'en B1 !! Le problème c'est qu'il me cherche toujours la valeur "poney" alors que je souhaiterai qu'il cherche la valeur en A2, et pas une valeur fixe !
Est-ce possible ?
je suis nouveau dans le VBA et j'ai besoin de faire une macro assez complexe et je n'en vois pas le bout.
Principe de la macro:
Je cherche en fait à rassembler des valeurs éparpillées dans une seule colonne afin de pouvoir faire des comparatifs simples.
Mettons une liste dans une feuille 1 :
A1
A2
A3
Je voudrais faire la recherche de ce que contient "A1" dans une feuille 2. Une fois la valeur trouvée, aller à l'occurence suivante du mot "Total". Une fois la ligne trouvée, se déplacer de 5 colonnes à droite. Copier la valeur de cette cellule en particulier, et la coller dans la feuille 1 en B1.
Et si c'est possible, l'automatiser pour une colonne longue d'environ 600 lignes...
Quand j'essaye d'enregistrer la macro, voici le code que j'obtiens :
Sub Macro12()
'
' Macro12 Macro
'
'
ActiveCell.Select
Selection.Copy
Sheets("Detailed Billing - VM").Select
Cells.Find(What:="poney", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Cells.Find(What:="Sub-Total:", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 13).Range("A1").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Virtual Servers").Select
ActiveCell.Offset(0, 3).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Ca fonctionne seulement pour une cellule. Si je me déplace en A2, la valeur qui sera collée en B2 sera exactement la même qu'en B1 !! Le problème c'est qu'il me cherche toujours la valeur "poney" alors que je souhaiterai qu'il cherche la valeur en A2, et pas une valeur fixe !
Est-ce possible ?
A voir également:
- Recherche une valeur variable dans une autre feuille
- Comment faire une recherche à partir d'une photo - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Je recherche une chanson - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Rechercher ou saisir une url - Guide
1 réponse
Bonjour,
En répondant à cette demande tout en conservant la macro:
Le problème c'est qu'il me cherche toujours la valeur "poney" alors que je souhaiterai qu'il cherche la valeur en A2, et pas une valeur fixe !
En répondant à cette demande tout en conservant la macro:
Le problème c'est qu'il me cherche toujours la valeur "poney" alors que je souhaiterai qu'il cherche la valeur en A2, et pas une valeur fixe !
Sub Macro12()
Dim nom As String
nom = Range("A2").Value
ActiveCell.Select
Selection.Copy
Sheets("Detailed Billing - VM").Select
Cells.Find(What:=nom, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Cells.Find(What:="Sub-Total:", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 13).Range("A1").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Virtual Servers").Select
ActiveCell.Offset(0, 3).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub