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 ;-)
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. 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
    1. 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
  2. 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
    1. 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
      1. CapitainCo Messages postés 127 Statut Membre 61 > vautour
         
        cells(ligne;colonne)
        0
  3. 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