Salut,
Nico ou steph comme promis sur le tchat:
Tu peux utiliser ta foncton Copier_cell tel quelle mais pas besoin de focntion car tu n'as pas de valeur de retour une sub classique suffit.
Si je comprends bien tu veux copier B2 puis C3, D4 .à K11. de la feuille Kompass vers la ligne 7 à 17 de la feuille INES mais comme tu ne définis pas Y je ne sais pas de quelle colonne, je présume que tu veux garder le même décalage de colonne.
Ta variable Y elle est initilisée où ? écrit comme ceci elle est égale à 0.
Si tu veux te servir de ordo_depart et de I dans les 2 procédures il faut déclarer ces variable au niveau module et non juste au niveau de la procédure Copie_Cellules.
En gardant ta structure de code, cela devrait donner ceci:
Option Explicit
Dim ordo_depart As Integer 'Variable de niveau module
Dim I As Integer
Sub Copie_Cellules()
Dim retour As Boolean ' pas besoin
Dim temp As String ' pas besoin
Dim Y As Integer
Application.ScreenUpdating = False 'évite le rafraichissement d'écran
ordo_depart = 5 'on initialise à 5
Y = 2 'à toi de déterminer la colonne de la feuille INES, pour commencer en B7
For I = 2 To 10
Copier_cell I, Y 'comme ceci pas besoin de parenthèses, par contre on écrira call Copier_cell(i,Y)
Y = Y + 1 'on décale de 1 colonne si besoin est
Next I
End Sub ' Correction quand on commence par sub Copie_cellules on finit par end sub
Function Copier_cell(cell_KOMPASS As Integer, cell_INES As Integer) As Boolean
With Sheets("KOMPASS")
.Cells(I, cell_KOMPASS).Copy
End With
With Sheets("INES")
.Paste .Cells(I + ordo_depart, cell_INES)
End With
Application.CutCopyMode = False 'On vide le presse papiers
End Function
A+++