Macro recherche "multiple"

Résolu
Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017 - 20 janv. 2011 à 12:03
Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017 - 26 janv. 2011 à 17:33
Bonjour,

Pourriez-vous m'aider sur ce problème:
je voudrais une macro qui commence une recherche texte ou data en colonne A, quand il trouve le cette data (ex en A10) il recherche dans une autre colonne B mais a partir de ligne trouver (ex b10) et enfin quand il trouve la dernière data il enregistre la valeure dans la colonne Cx dans la cellule DX
J'espère que cela est comprehensible, merci

Cdlt
Jyb
Petit bidouilleur en excel (vba) ...

2 réponses

Yous00 Messages postés 36 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 17 janvier 2017
26 janv. 2011 à 17:33
Slt USERRRQI115,

Merci pour ton aide mais cela est un peut plus compliquer je crois, je n'arrive pas a me dépatouiller avec ce que tu m?as donné. Dans la colonne A il y a des cellules vide idem en B et C et les data qui ce trouve dans la colonne B peuvent ce répéter en fait il y en a autant qu'il y a de data en A, il faudrait que tu ai le tableau pour comprendre c'est plus simple. Merci encore pour ton aide.


Cdlt
Jyb
Petit bidouilleur en excel (vba) ...
3
userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011
21 janv. 2011 à 10:29
Hello Yous00,
Pour tout te dire, je suis pas sur de tout comprendre
Du coup j'ai un petit bout de code pour toi, code à compléter (definition des valeurs à rechercher val1 et val2)
et à adapter au niveau du resultat : ici je met la valeur de la colone C en D à partir de la ligne 1
Sub AlorsOnCherche()

Dim val1, val2, resultc
Dim r, r2, ra, rd
Dim cell, cell2
rd = 1 '

r = Cells(65536, 1).End(xlUp).Row 'recuperation de la derniere cellule non vide de la colonne A
r2 = Cells(65536, 2).End(xlUp).Row 'recuperation de la derniere cellule non vide de la colonne B

For Each cell In Range(Cells(1, 1), Cells(r, 1)) 'balayage de la colonne A
If cell.Value = val1 Then 'si on trouve la 1ère valeur on  récupére son n° de ligne
ra = cell.Row

For Each cell2 In Range(Cells(ra, 2), Cells(r, 2)) 'balayage de la colonne B
If cell2.Value = val2 Then 'si on retrouve la 2nde valeur
resultc = cell2.Offset(0, 1).Value 'on stock la valeur de la cellule de la colonne C sur la ligne
'où a été trouvé la seconde valeur
Cells(rd, 4).Value = resultc '
rd = rd + 1
End If
Next cell2
End If
Next cell

End Sub

BR
USERRRQI115
Simple user
Great brain
0
Rejoignez-nous