VBA : Copier coller une cellule en fonction de la date

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kalek93

XLDnaute Nouveau
Bonjour,

Je fais appel à votre aide car je bloque :

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

Merci d'avance pour votre aide.
 
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

Hello

Merci beaucoup pour ton aide.

Cependant ça ne marche toujours pas, quand je l'éxecute, le message suivant apparait :
"Run-time erroe '9' : Subscript out of range"

Et ceci sur la ligne suivante :

If Sheets("Sheet1").Range("A" & i) = FichierSource.Sheets("Sheet1").Range("E1").Value Then

Je n'arrive pas à trouver la raison...
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Retour