Copier valeur cellule vers autre classeur

Bonjour tout le monde,

j'ai un soucis avec une ligne VBA.

Je voudrai copier la valeur de la cellule I28 du classeur ("PERSONNEL") de la feuille("FICHE1") dans la colonne du mois actuel du classeur ("RECAP") de la feuille("RESULTATS"). Voici mon texte VBA:

Sub ActualiserRECAP()

Sheets("FICHE1").Select
i = Range("D5").Value
Range("I28").Select
Range("I28").Activate
Selection.Copy
Workbooks("PERSONNEL").Worksheets("RECAP").Select
Range("B7").Select

ActiveCell.Offset(1, i).Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Sheets("TDB").Select

End Sub

Il me donne toujours erreur sur cette ligne en jaune ! erreur 1004 méthode select échouée

Je n'y arrive pas.

Pourriez-vous m'aidez SVP.

Merci d'avance

Cdt Rubis

Salut,

Tu dis que ton classeur visité s'appelle ''RECAP" et tu sélectionnes par cette ligne en jaune le classeur ''PERSONNEL" !

Ne dois-tu pas simplement écrire :

Workbooks("RECAP").Worksheets("RESULTATS").Select

Si ce n'est pas ça, envoie le classeur qui contient la macro, s'il-te-plait.

Cordialement.

Bonjour Yvouille,

Merci d'avoir répondu.

Désolé mais envoyé le tout c'est compliqué !

Je me suis trompé tout à l'heure. Voici les bonnes données.

Il doit me copier les valeurs de la cellule I28 de la feuille FICHE du classeur PERSONNEL.

Ensuite il doit m'actualiser la feuille RESULTATS du classeur RECAP qui contient des colonnes avec les mois de l'année ainsi que des lignes avec différentes valeurs.

Sub ActualiserRECAP()

Sheets("Fiche1").Select
i = Range("D5").Value
Range("I28").Select
Range("I28").Activate
Selection.Copy
Workbooks("RECAP").Sheets("RESULTATS").Select
Range("B7").Select

ActiveCell.Offset(1, i).Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Sheets("TDB").Select

End Sub

Merci pour ton aide

j'espère que cela te suffira.

Cdt Rubis

Tu n'as pas besoin d'envoyer le tout, juste le classeur qui contient la macro, s'il-te-plait.

Bonjour à nouveau,

désolé j'étais sorti.

C'est pas possible d'envoyer il est trop grand et confidentiel.

Ce n'est pas grave je trouverai une solution.

Merci et bon dimanche

Cdt Rubis

Re Yvouille,

tiens j'ai fais de cette façon, peut-être cela ira pour toi.

Merci beaucoup.

Cdt Rubis

8personnel.xlsm (50.87 Ko)
6recap.xlsm (64.69 Ko)

Je ne trouve de macro ni dans l'un, ni dans l'autre de tes fichiers. Aide-moi à t'aider, sinon j'ai moins de courage à le faire

Voila, Yvouille j'ai placé la macro, j'espère que cela t'aidera.

Cdt Rubis

5personnel.xlsm (61.61 Ko)
11recap.xlsm (64.25 Ko)

Salut,

J’ai compris une partie de tes besoins et ai voulu modifier ton code avec des commentaires. Dans le fichier ci-joint, tu as donc le début de ta macro corrigée que tu peux lancer au pas-à-pas afin de voir comment elle fonctionne et comprendre mes informations. Ou la lancer par ton bouton et voir où ça bloque

Je suis ensuite tombé sur tes lignes ci-dessous et je devine plus ce que tu veux faire avec ça que ce que je peux le comprendre :

Range("B7").Select
ActiveCell.Offset(1, i).Range("B1").Select

Si par ces deux lignes tu tentes de trouver la bonne colonne de ton fichier ‘’recap’’ qui correspond au mois inscrit en D5 de la feuille ‘’FICHE1’’ du fichier ‘’Personnel’’, tu n’y arriveras jamais ainsi. En effet, tu charges ta variable i avec du texte et tu veux l’utiliser dans la deuxième ligne ci-dessus comme un chiffre !!!

Si tu veux réellement trouver la bonne colonne du mois, je peux chercher un code qui le ferait, sinon explique-moi ce que tu veux réaliser par ces deux lignes.

Et si tu veux réellement trouver la bonne colonne du mois, indique-moi encore à quelle ligne tu veux coller le montant que tu as copié dans la cellule I28 de la feuille ‘’FICHE1’’ du fichier ‘’Personnel’’.

Dès demain je retourne au travail (ce n’est pas un jour férié dans le canton de Berne ) et j’aurais normalement du temps pour toi que le soir.

A te relire.

11personnel-new.xlsm (63.63 Ko)

Bonsoir Yvouille

Merci pour ton investissement dans on travail, c'est très sympa.

Alors je vais t'expliquer:

Tous les mois je voudrai copier la valeur de la cellule I28 dans le tableau RESULTATS du classeur RECUP à la ligne 22

j'avais essayer cette macro dans un autre classeur dans lequel il y a les deux feuilles en question et elle fonctionne, sauf que dans le cas actuel cette macro doit copier dans un autre classeur.

J'espère que cela ne te pose pas trop de problèmes .

Merci encore à toi et à demain.

Cdt Rubis

Salut,

Tu ne me réponds pas si tu veux vraiment trouver la bonne colonne dans le fichier cible selon le mois inscrit dans le fichier source ! Disons que oui.

Alors, le macro placée dans le fichier ci-joint fait l'affaire, à condition que le fichier Recap (et non pas Recup comme tu l'indiques) soit ouvert à l'écran.

Avec cette macro, le fichier Recap est chargé de la valeur voulue sans être activé et ne l'est toujours pas en fin de macro. Mais pour l'instant ça répond au moins à ta dernière demande :

Tous les mois je voudrai copier la valeur de la cellule I28 dans le tableau RESULTATS du classeur RECUP à la ligne 22

S'il faut ouvrir le fichier Recap en début de macro, l'activer ou le refermer à la fin ou que sais-je d'autre, indique avec grande précision ce que tu souhaites, sans te perdre dans des explications inutiles.

Amicalement.

7personnel-v2.xlsm (62.10 Ko)

Bonsoir Yvouille,

ta macro fonctionne très bien.

En ce qui concerne le déroulement de mon travail;

A la fin du mois je veux copier la valeur de la cellule I28 vers le tableau RECAP sur la ligne "Salaire" du mois en cours.

Je voudrai que j'ai juste à ouvrir le classeur PERSONNEL, y travailler et à la fin pouvoir presser le bouton de la macro pour qu'elle effectue le transfert de la valeur de I28.

C'est tout .

Dis moi si tu as bien compris mon souhait STP.

A+

Cdt Rubis

Je ne sais pas si j'ai bien compris ton souhait, mais il me semble plus clairement expliqué

Dans le fichier ci-joint, la macro en place fait ce travail : elle ouvre de manière invisible le fichier ''recap'', inscrit ta donnée en I28 dans la colonne du mois correspondant, à la ligne 22, enregistre le fichier ''recap'' et le referme.

Si tu veux voir le résultat, tu dois rouvrir le fichier ''recap''.

A préciser que ce code a été créé en pensant que le fichier ''recap'' est placé dans le même dossier que le fichier ''personnel''. Si ce n'est pas le cas, le code devra être revu en conséquence.

On pourrait bien entendu laisser le fichier ''recap'' ouvert en fin de macro afin que tu puisses constater le transfert plus aisément.

Salutations.

19personnel-v3.xlsm (63.34 Ko)

Bonjour Yvouille,

Merci à toi pour ton travail sur ce code. Tout fonctionne. Oui le fichier RECAP est dans le même dossier donc pas de soucis.

Je vais maintenant terminer le dossier et on fera les tests à la fin.

Je te tiens au courant.

Bonne journée et a+

Cdt Rubis

Rechercher des sujets similaires à "copier valeur classeur"