Recherches par comparaison d'une cellule puis copie de ligne

Bonjour,

je cherche a copier-coller dans une feuille A le contenu de toute une ligne sur une autre feuille B si le contenu de la première case de la ligne de B correspond au contenu de la case de A.

Mais Excel me dit cela au lancement : "l'indice n'appartient pas à la sélection"

Du coup, je ne peux même pas tester.

Voici mon code.

Sub tri()

'début ligne 2 de feuille "que des RH"

i = 2

'temps que j'ai des adresses écrites dans la première colonne de la feuille "que des RH"

While Sheets("Que des RH").Cells(i, 1) <> ""

' début sur ligne 1 de feuille "a intégrer"

j = 1

' temps que le contenu de la cellule J de "à intégrer" est différent du contenu de la cellule I de "que des RH"

While Sheets("a intégrer").Cells(j, 1) <> Sheets("Que des RH").Cells(i, 1)

' on prend la ligne suivante de "à intégrer"

j = j + 1

Wend

'dès que le contenu est identique, on copie cellule par cellule le contenu de "à intégrer" vers "que des RH"

Sheets("Que des RH").Cells(i, 2) = Sheets("a intégrer").Cells(j, 2)

Sheets("Que des RH").Cells(i, 3) = Sheets("a intégrer").Cells(j, 3)

Sheets("Que des RH").Cells(i, 4) = Sheets("a intégrer").Cells(j, 4)

Sheets("Que des RH").Cells(i, 5) = Sheets("a intégrer").Cells(j, 5)

Sheets("Que des RH").Cells(i, 6) = Sheets("a intégrer").Cells(j, 6)

Sheets("Que des RH").Cells(i, 7) = Sheets("a intégrer").Cells(j, 7)

Sheets("Que des RH").Cells(i, 8) = Sheets("a intégrer").Cells(j, 8)

Sheets("Que des RH").Cells(i, 9) = Sheets("a intégrer").Cells(j, 9)

Sheets("Que des RH").Cells(i, 10) = Sheets("a intégrer").Cells(j, 10)

Sheets("Que des RH").Cells(i, 11) = Sheets("a intégrer").Cells(j, 11)

Sheets("Que des RH").Cells(i, 12) = Sheets("a intégrer").Cells(j, 12)

Sheets("Que des RH").Cells(i, 13) = Sheets("a intégrer").Cells(j, 13)

Sheets("Que des RH").Cells(i, 14) = Sheets("a intégrer").Cells(j, 14)

'on prend la ligne suivante de "que des RH"

i = i + 1

Wend

End Sub

Avez-vous une idée pour m'aider ? Le fichier est en PJ.

Je vous remercie par avance

16macro-pas-bonne.xlsx (204.99 Ko)

Bonjour,

La macro ne trouve pas l'onglet "Que des RH". Ton onglet "Que des RH" se nomme en fait "Que des RRH"

Sub tri()

For j=2 to 2386 'nbre de ligne de "A integrer"
 For i=2 to 6938 'nbre de ligne de "que des rh"
  If Sheets("a intégrer").Cells(j, 1).value = Sheets("Que des RH").Cells(i, 1).value 'si cellule "a integrer" = cellule "que des rh"

Sheets("Que des RH").Cells(i, 2) = Sheets("a intégrer").Cells(j, 2) 'valeur de "Que des rh" impose valeur a "A integrer"
Sheets("Que des RH").Cells(i, 3) = Sheets("a intégrer").Cells(j, 3)
Sheets("Que des RH").Cells(i, 4) = Sheets("a intégrer").Cells(j, 4)
Sheets("Que des RH").Cells(i, 5) = Sheets("a intégrer").Cells(j, 5)
Sheets("Que des RH").Cells(i, 6) = Sheets("a intégrer").Cells(j, 6)
Sheets("Que des RH").Cells(i, 7) = Sheets("a intégrer").Cells(j, 7)
Sheets("Que des RH").Cells(i, 8) = Sheets("a intégrer").Cells(j, 8)
Sheets("Que des RH").Cells(i, 9) = Sheets("a intégrer").Cells(j, 9)
Sheets("Que des RH").Cells(i, 10) = Sheets("a intégrer").Cells(j, 10)
Sheets("Que des RH").Cells(i, 11) = Sheets("a intégrer").Cells(j, 11)
Sheets("Que des RH").Cells(i, 12) = Sheets("a intégrer").Cells(j, 12)
Sheets("Que des RH").Cells(i, 13) = Sheets("a intégrer").Cells(j, 13)
Sheets("Que des RH").Cells(i, 14) = Sheets("a intégrer").Cells(j, 14)

  end if
 next i 'ligne suivante
next j 'ligne suivante
end sub

J pense que tu cherche quelque chose comme ca.

Merci beaucoup car j'ai pu faire ce que je voulais grace à vous 2.

Rechercher des sujets similaires à "recherches comparaison puis copie ligne"