Fonction copier lignes HELP

  • Initiateur de la discussion Initiateur de la discussion Musicman
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Musicman

Guest
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.
 
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.
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
19
Affichages
756
  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
217
Réponses
2
Affichages
166
Retour