(résolu) Copier coller des données selon la date de mise à jour (VBA)

katt

XLDnaute Nouveau
Bonjour,

Voilà le problème,

Je dois copier certaines valeur d'une feuille sur un autre feuille selon la date de la mise à jour.

Les donnéées en jaune (feuille TA) vont être copiées dans la feuille Taux selon la date de la mise à jour indiquée dans la feuille TA.

j'ai commencé un code qui ne fonctionne pas.
Est ce quelqu'un peut le regader.

Merci
 

Pièces jointes

  • Copie.xls
    36 KB · Affichages: 69
  • Copie.xls
    36 KB · Affichages: 71
  • Copie.xls
    36 KB · Affichages: 61
Dernière édition:

VDAVID

XLDnaute Impliqué
Re : Copier coller des données selon la date de mise à jour (VBA)

Bonjour Katt,
Si j'ai bien compris, rafraichis la date en [B1] et vois si ça te va!
En espérant t'avoir aidé
Bonne soirée
 

Pièces jointes

  • Test3.xls
    34.5 KB · Affichages: 72
  • Test3.xls
    34.5 KB · Affichages: 73
  • Test3.xls
    34.5 KB · Affichages: 76

katt

XLDnaute Nouveau
Re : Copier coller des données selon la date de mise à jour (VBA)

Bonjour VDavid,

Merci d'avoir répondu, ça fonctionne bien, la seule chose c'est que dès fois je vais insérer d'autres lignes dans le tableau, et donc les cellules à copier ne seront plus j22:L22 ça va incrémenter. donc comment est ce que je peux faire pour que ça soit toujours ces valeurs qui soient prises.

Merci encore
 

VDAVID

XLDnaute Impliqué
Re : Copier coller des données selon la date de mise à jour (VBA)

Une solution si la ligne "Total" sera toujours en dernière position:

Tu remplace:

Range("j22:l22").Copy

Par:

Range("J" & Range("J65536").End(xlUp).Row & ":L" & Range("L65536").End(xlUp).Row).Copy
Ce code copiera toujours la dernière ligne non-vide donc Total si elle est toujours en dernière position.

Sinon tu peux lancer une autre boucle pour chercher la valeur "Total" dans la colonne "I" de façon à copier les cellules à la suite de total; auquel cas tu remplace:

Range("j22:l22").Copy

Par :

Dim h&
For h = 1 To Range("I65536").End(Xlup).Row
If Range("I" & h).Value = "Total" Then
Range("J" & h & ":L" & h).Copy
End if
Next h

Ici dès que la macro trouvera la valeur "Total" dans la colonne "I"; alors elle copiera les cellules des trois colonnes d'à côté.
 

katt

XLDnaute Nouveau
Re : Copier coller des données selon la date de mise à jour (VBA)

Merci,

Comment est ce qu'on fait pour connaître la valeur de la cellule c'est-à-dire J65536 ou L65536.

Si toutefois j'ai à modifier le tableau, comme ça je n'aurai pas à redemander.

Merci encore
 

VDAVID

XLDnaute Impliqué
Re : (résolu) Copier coller des données selon la date de mise à jour (VBA)

Excuses-moi je n'avais pas accès à mon ordinateur.
La méthode Range("I65536").End(XlUp).Row renvoie la dernière valeur non-vide d'une colonne, ici la colonne "I", sachant que 65536 représente la ligne maximale.
Content de t'avoir aidé :)
Bonne soirée !
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 867
Membres
103 979
dernier inscrit
imed