Transfère valeurs sur autres feuilles

Salut !

Débutant sur VBA, je souhaite le moyen de simplifier un de mes fichiers Excel.

Sur la feuille 1 du fichier, il y a un mini-tableau d'une ligne sur 10 colonnes composé de 10 différents temps de changement:

  • La ligne correspond à la date du jour (grâce à la fonction =AUJOURDHUI())
  • Les colonnes correspondent à 10 différents produits
Sur la feuille 2, il y a un tableau beaucoup plus lourd avec 365 lignes (correspondant à chaque jour de l'année)et toujours 10 colonnes (nb de produit).

Mon but serait de copier les temps de changement présent sur la feuille 1 dans la ligne correspondant au même jour dans la feuille 2 grâce à un bouton macro.

Je vous envoie ci-joint l'exemple de mon problème, si celui-ci reste encore incompréhensible pour vous n'hésitez pas à me le dire.

Par avance merci

Bonjour,

La ligne correspond à la date du jour parce que tu l'as décidé, la fonction AUJOURDHUI, qui n'est d'ailleurs pas présente n'y est pour rien !

Il serait bon que la date soit présente sur la feuille puisque c'est la référence...

Il serait bon aussi que tu nous éclaires sur le contenu (temps de changement ??).

Transférer le contenu d'une ligne est une opération banale mais son contenu peut éventuellement avoir un impact, il convient donc d'être un peu moins sibyllin.

Cordialement.

Tout d'abord merci de ta réponse ,

La fonction AUJOURDHUI est voulu car le but de ce fichier est que les techniciens de ma société rentre chaque jour leurs valeurs dans la première feuille pour ensuite les copier grâce au bouton dans la base de donnée présente dans la feuille 2.

En sachant que grâce à la fonction AUJOURDHUI, la date changera d'elle même (sur la feuille 1) le lendemain et permettra en copiant les valeurs de remplir une nouvelle ligne chaque jour.

La feuille 2 servant par la suite a calculer une multitude de coûts, je veux leur éviter de s'y perdre.

Les valeurs rentrées dans le tableaux de la feuille 1 sera toujours de simple chiffres sans aucune lettre.

Cordialement

Je répète que la fonction n'est pas dans le fichier....

Mais si on est sûr d'opérer au jour le jour, on n'en a nul besoin !

Sub test()
    Dim n%, lgn
    n = Date - DateSerial(2017, 1, 1) + 3
    lgn = ActiveSheet.Range("C3:L3").Value
    Worksheets("Feuil2").Range("C" & n).Resize(, 10).Value = lgn
End Sub

Cordialement.

Merci !

Cependant une erreur persiste: sur la feuille 2 sont présent uniquement les jours ouvrés (jours hors week-end et jours fériés) du coup la ligne "n = Date - DateSerial(2017, 1, 1) + 3" ne correspond pas.

Ma volonté serais de mettre hors Vba dans la cellule B3 de la feuille une fonction "AUJOURDHUI" et qu'ensuite grâce au Vba, on puisse trouver la ligne avec la même date dans la feuille 2.

Encore merci pour ta patiente et le temps que tu me consacre

Au final merci à toi mais je viens de trouver une solution à mon problème

Sub copier()
With Sheets("Feuil1")
    numLigne = Application.Match(.[B3], Feuil2.[B:B], 0)
    If Not IsError(numLigne) Then Feuil2.Cells(numLigne, 3).Resize(1, 10).Value = .[C3:L3].Value
End With
End Sub
Rechercher des sujets similaires à "transfere valeurs feuilles"