Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherchev et copier dans une cellule les données

Florian95

XLDnaute Nouveau
Bonjour à tous,

Encore un petit projet !
je souhaite réaliser une macro pour qui va copier les données en feuilles FP et qui va la coller dans la feuille variable.

contraintes de l'opération :
- copier la valeur dans la feuille FP et la coller dans la ligne correspondante et ce en fonction de la date.
- copier la valeur sous format numérique sans formule

j'ai tenté avec VLOOKUP mais il n'arrive pas à tenir compte de la date.

Exemple :
- copier la valeur 144 (feuille FP cellule m4) correpondant au cumul des heures trav. (feuille FP cellule F4) et ce pour la date du 01/01/2014 (feuille FP cellule f2)

- coller cette valeur dans la feuille "variables" cellule B4 sous format numérique. Cette valeur est donc dans la ligne 4 (cumul heures trav) et la colonne B (Janvier 2014)


Merci beaucoup de votre aide !

florian

PJ
 

Pièces jointes

  • FP Macro copie.xlsx
    14.2 KB · Affichages: 36
  • FP Macro copie.xlsx
    14.2 KB · Affichages: 40
  • FP Macro copie.xlsx
    14.2 KB · Affichages: 39

Robert

XLDnaute Barbatruc
Repose en paix
Re : Recherchev et copier dans une cellule les données

Bonjour Florian, bonjour le forum,

Peut-être comme ça :

Code:
Sub Macro2()
Dim F As Object 'déclare la variable F (onglet FP)
Dim V As Object 'déclare la variable V (onglet Variables)
Dim M As Byte 'déclare la variable M (onglet Mois)
Dim COL As Byte 'déclare la variable COL (COLonne)

Set F = Sheets("FP") 'définit l'onglet F
Set V = Sheets("Variables") 'définit l'onglet V
M = Month(F.Range("F2").Value) 'définit le mois M
COL = M + 1 'définit la colonne COL
V.Cells(4, COL).Value = F.Range("M4:N4").Value 'récupère la valeur du cumul des heures travaillées
V.Cells(4, COL).NumberFormat = F.Range("M4").NumberFormat 'récupère le format de nombre
V.Cells(5, COL).Value = F.Range("M5:N5").Value 'récupère la valeur du cumul des jour travaillés
V.Cells(5, COL).NumberFormat = F.Range("M5").NumberFormat 'récupère le format de nombre
End Sub
 

job75

XLDnaute Barbatruc
Re : Recherchev et copier dans une cellule les données

Bonsoir Florian95, Robert,

Juste quelques verres de Médoc ce soir, je ne devrais pas être transparent

La question des formats me paraît très secondaire, formater comme on veut les lignes de destination !!!

Dans le code de la feuille "FP" :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next 'si n'importe quoi en F2...
With Feuil4 'CodeName de la feuille de destination
.Cells(4, Application.Match([F2], .[1:1], 0)).Resize(2) = [M4].Resize(2).Value
End With
End Sub
La macro s'exécute quand on modifie la feuille.

A+
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
329
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…