Fonction copier lignes HELP

Musicman

XLDnaute Nouveau
Bonjour,

Je débute sur excel et j'ai besoin d'une fonction VBA qui accepte 2 arguments, un tableau et un nombre a (définis auparavant par d'autres fonctions).

je vous explique rapidement:

J'ai une feuille1 de base de donnée
une autre feuille2 ou je voudrais afficher les lignes correspondant aux valeurs contenues dans le tableau, à partir de la ligne a de la feuille2

par exemple, avec a=3 et les valeurs du tableau 3.6.9:

la fonction affiche:

la ligne 3 de la feuille1 à la ligne 3 de la feuille2
la ligne 6 de la feuille1 à la ligne 4 de la feuille2
la ligne 9 de la feuille1 à la ligne 5 de la feuille2

J'espère que c'est assez clair.
voila je suis sur ce problème depuis deux jours...

Je serais infinment reconnaissant à celui qui pourra m'apporter son aide.
 

Musicman

XLDnaute Nouveau
Re : Fonction copier lignes HELP

Tout d'abord merci pour ton aide. Voila un bout de code de ce que j'ai fait mais sa ne marche pas:

'fonction qui renvoie a partir d'unu ligne (ligne_init) les lignes correspondant au tableau recu (Tableau).
'nombre_lignes = nombre_item (nombre de lignes a copier)

Public Function Renvoi_ligne(ligne_init As Variant, nombre_lignes As Variant, Tableau As Variant)
Dim ligne_source As Variant

For i = 0 To nombre_lignes 'nombre de lignes utilisées
ligne_source = Tableau(i)
Worksheets("BD").Rows(ligne_source).Copy _
Destination:=Worksheets("Aff_Standard").Rows(ligne_init)
'BD est la feuille contenant ma base de données, Aff_Standard est la feuille ou les lignes sont affichées

ligne_init = ligne_init + 1
Next

Worksheets("Aff_Standard").Select

End Function

Voila merci encore pour ton aide.
 

Musicman

XLDnaute Nouveau
Re : Fonction copier lignes HELP

C'est bon j'ai trouvé mon erreur, je n'avis pas placé les intructions de mes fonctions précedentes dans la bonne fonction. Et en plus je m'était trompé sur une variable. Voila le code final si sa peut servir à quelq'un.

'fonction qui renvoie a partir d'unu ligne (ligne_init) les lignes correspondant au tableau recu (Tableau).
'nombre_lignes = nombre_item (nombre de lignes a copier)

Public Function Renvoi_ligne(ligne_init As Variant, nombre_lignes As Variant, Tableau As Variant)

Dim ligne_source As Variant

For i = 0 To nombre_lignes - 1 'nombre de lignes utilisées
ligne_source = Tableau(i)
Worksheets("BD").Rows(ligne_source).Copy _
Destination:=Worksheets("Aff_Standard").Rows(ligne_init)
ligne_init = ligne_init + 1
Next

Worksheets("Aff_Standard").Select

End Function
 

Discussions similaires

Réponses
7
Affichages
346
Réponses
12
Affichages
562

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal