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
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.