Macro de recherche excel

vautour -  
CapitainCo Messages postés 127 Statut Membre -
Bonjour,
J'ai fait pas mal de VB l'annee passee mais les macro c'est la premiere fois ...
En clair celle ci devrai copier le contenu d'une cellule de la "sheet1", et comparer ce contenu a une colone de la feuille "HP", pour ensuite copier certaine cellule de la ligne trouvee pour les replacer dans la "sheet1".
J'ai ecrit ce code sur base de ce que j'ai lu sur le net.

n = 26
Do While n < 600
Sheets("sheet1").Select
Cells(n, 4).Select
Selection.Copy
Sheets("HP").Select
i = 0
Do While Sheets("HP").Cells(i, 7) <> Sheets("sheet1").Cells(n, 4)
i = i + 1
Loop
Sheets("HP").Select
Cells(i, 3).Select
Selection.Copy
Sheets("sheet1").Select
Cells(n, 8).Select
ActiveSheet.Paste
n = n + 1
Loop

Merci d'avance au futur lecteur ou lectrice ;-)
A voir également:

3 réponses

CapitainCo Messages postés 127 Statut Membre 61
 
je ne suis pas sur d'avoir saisie tout ton probleme mais test ca et tu me dira si c'est ce que tu chercher

n = 26
Do While n < 600
Sheets(1).Select
Cells(n, 4).Select
Selection.Copy
Sheets("HP").Select
i = 1
y = 1
Do While Sheets("HP").Cells(y, 7) <> ""
If Sheets("HP").Cells(i, 7) <> Sheets(1).Cells(n, 4) Then
i = i + 1
End If
y = y + 1
Loop
Sheets("HP").Cells(i, 3).Select
Selection.Copy
Sheets(1).Select
Cells(n, 8).Select
ActiveSheet.Paste
n = n + 1
Loop

0
vautour
 
avec mon programme j'ai une erreur sur le 2eme do while, et avec le tien c'est une erreur a laffichage finale.
Et je n'ai pas de doublon en faite, c'est pour cela que pour ma 2eme boucle je m etaia arranger pour quel s arrete directement. Mais ca ca n est qu'un details.
Ca me semble si simple mais pourtant ...
0
CapitainCo Messages postés 127 Statut Membre 61
 
précise les erreurs stp
si mon code ne marche pas si il y pas de doublon, il suffit juste de mettre une valeur bouleen du genre trouver=false

n = 26
Do While n < 600
Sheets(1).Select
Cells(n, 4).Select
Selection.Copy
Sheets("HP").Select
i = 1
y = 1
trouver=false
Do While Sheets("HP").Cells(y, 7) <> ""
If Sheets("HP").Cells(i, 7) <> Sheets(1).Cells(n, 4) Then
i = i + 1
else
trouver=true
End If
y = y + 1
Loop
if trouver=true then
Sheets("HP").Cells(i, 3).Select
Selection.Copy
Sheets(1).Select
Cells(n, 8).Select
ActiveSheet.Paste
end if
n = n + 1
Loop
0
vautour
 
Il copie la cellule, passe a la page HP et s arrete la.
mais pour par exemple la cellule b1 ca serai cells(1,2)?
0
CapitainCo Messages postés 127 Statut Membre 61 > vautour
 
cells(ligne;colonne)
0
CapitainCo Messages postés 127 Statut Membre 61
 
voila j'ai fais une macro qui va chercher pour chaque valeur de la colonne A de la feuille 1 si elle existe dans la colonne A de la feuille HP; si oui elle recupere la valeur de la colonne B dans sa colonne B
Il te reste plus qu'a modifier les coordonnée des colonne pour ton cas

i = 1
Do While Worksheets(1).Range("A" & i).Value <> ""
y = 1
Do While Worksheets("HP").Range("A" & y).Value <> ""
If Worksheets(1).Range("A" & i).Value = Worksheets("HP").Range("A" & y).Value Then
Worksheets(1).Range("B" & i).Value = Worksheets("HP").Range("B" & y).Value
Exit Do
End If
y = y + 1
Loop
i = i + 1
Loop

0