Recopie de cellule d'un classeur à un autre

  • Initiateur de la discussion Initiateur de la discussion SPEA
  • Date de début Date de début

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 !

SPEA

XLDnaute Occasionnel
Bonjour,

Je cherche à recopier des cellules d'un classeur vers un autre, je voudrais que la macro, lancée à partir du classeur 2, ouvre le classeur 1, copie les cellules contenant des données (colonne A), colle ces données dans le classeur 2 (dans la colonne A, à la suite) puis referme le classeur 1.

Le but est de recopier les dates de passage situées dans la colonne A du classeur 1 vers la colonne A du classeur 2.

La macro serait lancée à partir du classeur 2, je peux créer un bouton pour la lancer ce n'est pas un problème.

Les 2 classeur seront dans le même repertoire pour des raisons de facilité...

merci
 

Pièces jointes

Re : Recopie de cellule d'un classeur à un autre

Merci bqtr, ca correspond à ce que je cherchait.

dans mon exemple, il y a des operations de maintenance à des intervalles
de temps differents (semaine, mois, trimestre).

Peux on cocher automatiquement les operations qui doivent etres effectuée en fonction de la date (qui va se recopier dans le classeur 2 avec la macro) ?
 
Re : Recopie de cellule d'un classeur à un autre

Re,

Dans le 1er exemple que je t'ai fait, je n'avais pas ouvert ton fichier 😱.
Remplace la macro par celle-ci.

Elle compare le nom de chaque feuille des deux classeurs. Si ils sont identiques, les dates de la colonne C du classeur 1 sont recopiées dans la colonne A du classeur 2.

Il faudra que tu crées un bouton dans le classeur 2 et que tu lui affectes la macro.

Code:
Sub TransfertDonnées()

Dim ws As Worksheet, wk As Worksheet

Application.ScreenUpdating = False
Workbooks.Open (ThisWorkbook.Path & "\" & "classeur 1.xls")
Workbooks("classeur 2.xls").Activate
 For Each ws In Workbooks("classeur 2.xls").Worksheets
    For Each wk In Workbooks("classeur 1.xls").Worksheets
      If ws.Name = wk.Name Then
         wk.Range("C2:C" & wk.Range("C65536").End(xlUp).Row).Copy Destination:=ws.Range("A4")
      End If
    Next wk
Next ws
Workbooks("classeur 1.xls").Close SaveChanges:=False
Application.ScreenUpdating = True

End Sub

Pour ton autre demande je ne vois pas trop ce qu'il faut faire
 
Re : Recopie de cellule d'un classeur à un autre

bqtr à dit:
Re,

Dans le 1er exemple que je t'ai fait, je n'avais pas ouvert ton fichier 😱.
Remplace la macro par celle-ci.

Elle compare le nom de chaque feuille des deux classeurs. Si ils sont identiques, les dates de la colonne C du classeur 1 sont recopiées dans la colonne A du classeur 2.

Il faudra que tu crées un bouton dans le classeur 2 et que tu lui affectes la macro.

Code:
Sub TransfertDonnées()

Dim ws As Worksheet, wk As Worksheet

Application.ScreenUpdating = False
Workbooks.Open (ThisWorkbook.Path & "\" & "classeur 1.xls")
Workbooks("classeur 2.xls").Activate
 For Each ws In Workbooks("classeur 2.xls").Worksheets
    For Each wk In Workbooks("classeur 1.xls").Worksheets
      If ws.Name = wk.Name Then
         wk.Range("C2:C" & wk.Range("C65536").End(xlUp).Row).Copy Destination:=ws.Range("A4")
      End If
    Next wk
Next ws
Workbooks("classeur 1.xls").Close SaveChanges:=False
Application.ScreenUpdating = True

End Sub

Pour ton autre demande je ne vois pas trop ce qu'il faut faire
Re

Merci bqtr,

Pour mon autre demande, en fait j'ai identifié sur la 1° ligne la fréquence des operations à effectuer. Je cherche à cocher les cases automatiquement en fonction de la periodicité. Pour cela j'ai mis des cases à cocher sur la ligne 3 qui doivent se repeter chaque fois qu'une nouvelle date est copiée sur une ligne et se cocher si la periodicité est atteinte (cellule en bleu = 1x par semaine, cellules en orange = 1x par mois, etc...)

Bref j'espère avoir été plus compréhensible (pas evident à expliquer), ne pas hesiter si plus d'explications sont necessaires.

Bonne soirée
 
Re : Recopie de cellule d'un classeur à un autre

Bonjour,

Désolé, mais je ne vois pas comment faire.
Tu veux avoir des checkboxs sur chaque ligne si dans la colonne A il y a une date ? Il y en aura des centaines, voir des milliers et comment faire ensuite pour les identifier pour qu'ils se cochent automatiquement ?

De même pour la périodicité, la date origine est-elle le 01/01 de l'année en cours ? Les semaines correspondent-elles à celles du calendrier ou s'agit-il de 7 jours consécutif à partir de la 1ère date de la colonne A ?
Les formules risquent d'être complexes ?
 
Re : Recopie de cellule d'un classeur à un autre

Il est vrai que ce que je voulais faire est une vraie "usine à gaz".

Pour faire plus simple est il possible de colorier les cellule (en vert par exemple) quand la periodicité est atteinte.

Quand la periodicité est "semaine", sachant que les installations sont visités 2X par semaine, colorier les cellules en regard de la première date de visite chaque semaine.

Idem pour mois et trimestre.

Si ce n'est pas possible tant pis je le ferais manuellement, le plus important etait de recopier les dates de visites qui sont egalement saisies dans un autre classeur.
 
- 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

Retour