Transfert de donnees depuis ligne (selon numero ligne) vers autre onglet

Bonjour

J'ai un fichier avec un onglet qui contient des lignes, chaque ligne contient des renseignements concernant une activité (restaurant/musée/site toutistique). L'autre onglet est un format pré-établi de Voucher.

Mon but c'est de pouvoir transférer les données d'une ligne quelconque choisie de l'onglet "General" vers le format situé dans l'onglet "Voucher".

Je souhaiterais le faire, si c'est possible, en ouvrant une dialog box qui demande le numéro de la ligne selon le chiffre inscrit en colonne A (de l'onglet "General"). Puis les données des cellules de cette même ligne de l'onglet "General" seront copiées vers l'onglet "Voucher" aux cellules qui leur sont dédiées.

Par exemple, si l'on parle de la ligne numérotée "1":

la valeur de la cellule B21 ("B" de cette même ligne numéro 1) sera copiée vers la cellule B8 de l'onglet "Voucher"

la valeur de la cellule C21 ("C" de cette même ligne numéro 1) sera copiée vers la cellule C8 de l'onglet "Voucher"

la valeur de la cellule D21 ("D" de cette même ligne numéro 1) sera copiée vers la cellule B9 de l'onglet "Voucher"

la valeur de la cellule E21 ("E" de cette même ligne numéro 1) sera copiée vers la cellule B10 de l'onglet "Voucher" ...

Si l'on prend pour exemple la ligne numérotée "3", ça sera de la même manière:

la valeur de la cellule B23 ("B" de cette même ligne numéro 3) sera copiée vers la cellule B8 de l'onglet "Voucher"

la valeur de la cellule C23 ("C" de cette même ligne numéro 3) sera copiée vers la cellule C8 de l'onglet "Voucher" ...

Je n'ai malheureusement aucune idée comment on fait cela

Je vous joins le fichier pour vous aider à visualiser de quoi il s'agit, dans l'espoir que l'un/e d'entre vous saura/pourra m'aider avec cela...

Merci d'avance

bonjour,

voici un exemple,

Sub test()
Set sh1 = Sheets("General")
Set sh2 = Sheets("Voucher")
ligne = Application.Match(sh1.Range("C13"), sh1.Range("A:A"), 0)
If Not IsError(ligne) Then
   sh2.Range("B8") = sh1.Range("B" & ligne).Value
   sh2.Range("C8") = sh1.Range("C" & ligne).Value
   sh2.Range("B9") = sh1.Range("D" & ligne).Value
   sh2.Range("B10") = sh1.Range("E" & ligne).Value
End If
End Sub

Genial!! merci beaucoup, ca fonctionne!

Rechercher des sujets similaires à "transfert donnees ligne numero onglet"