J'ai 2 fichiers Excel ouvert :
- un premier (fichier source) : en cellule A1 il y a la date du jour, et en cellule A3 il y a un chiffre (obtenu grâce à une macro).
- un deuxième (fichier cible) : en colonne A, il y a une multitude de date.
J'aimerai intégrer à ma macro la proc suivante :
mon fichier source est celle qui est active, et mon fichier cible est déjà ouvert.
1/ copie ma cellule A3 du fichier source
2/ se place ensuite sur le fichier cible, qui est déjà ouvert.
3/ recherche la date du jour, puis colle mon chiffre qui était en A3 du premier fichier, dans ma colonne B, en face de la date du jour
Voici le code que j'ai écrit, cependant elle ne fonctionne pas :-(
Code:
Sub copiercoller_fonction_date()
Set FichierSource = Workbooks("C:\source.xls")
Set FichierCible = Workbooks("C:\cible.xls")
FichierCible.Select
For i = 1 To 15 Step 1
If Range("A" & i) = Date Then
FichierSource.Range("E3").Copy _
Destination:=FichierCible.Sheets("Feuil1").Range("B" & i)
End If
Next i
End Sub
Re : VBA : Copier coller une cellule en fonction de la date
Salut,
Voila une rectification du code , fonctionnel et testé
Code:
Sub copiercoller_fonction_date()
Set FichierSource = ThisWorkbook
Set FichierCible = Windows("cible.xls")
For i = 1 To 15 Step 1
FichierCible.Activate
If Sheets("Feuil2").Range("A" & i) = FichierSource.Sheets("Feuil1").Range("E1").Value Then
Sheets("Feuil2").Range("B" & i) = FichierSource.Sheets("Feuil1").Range("E1").Value
End If
FichierSource.Activate
Next i
End Sub
Changer Feuil1 par le nom de ta feuille du ficheir source.
Re : VBA : Copier coller une cellule en fonction de la date
Bonsoir,
Voila une deuxième rectification : attention il faut changer le nom du classeur cible par le vrai nom
Code:
Sub copiercoller_fonction_date()
Set FichierSource = ThisWorkbook
Set FichierCible = Windows("Testeur.xls") 'changer testeur.xls avec le vrai nom du fichier cible
dat = Range("A1").Value
a_copier = Range("A3").Value
For i = 1 To 15 Step 1
FichierCible.Activate
If Sheets("Feuil1").Range("A" & i) = dat Then
Sheets("Feuil1").Range("B" & i) = a_copier
End If
FichierSource.Activate
Next i
End Sub