Copier des valeurs avec formules et coller seulement les valeurs

  • Initiateur de la discussion Initiateur de la discussion alain18
  • 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 !

alain18

XLDnaute Occasionnel
Bonsoir,
Je cherche à créer une macro pour faire un simple copier-coller d'un fichier à un autre fichier excel. N'étant pas familiarisé avec le VBA j'utilise l'enregistreur de macro, hors lorsque je veux coller seulement mes valeurs (l'original contenant des formules) j'optiens toujours le message suivant: "Cette opération requiert que les cellules fusionnées soit de tailles identique".
Je ne vois pas ce qu'il faut modifier du fait que j'avais au préalable collé le format du fichier original et le message est toujours le même.

Merci de votre aide.
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Merci Hippolite,
J'ai bien coller le format mais j'otiens toujours le même message.... ?????
J'avais déja eu ce problême avec des cellules fusionnées, j'avais donc supprimé la fusion. Mais là, pour mon exemple je ne pourrai pas supprimer cette fusion alors.......
Peut ètre que quelqu'un a déja rencontré ce souci...!!
Soyons patient.
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Bonsoir le fil, bonsoir le forum,

Et si tu mettais un petit fichier en pièce jointe ça nous éviterait de tourner en rond non ? P... Alain tu as 116 posts au compteur et tu n'as pas encore compris ça... C'est grave !
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Bonjour à tous,
Merci Robert de bien vouloir regarder mon "petit" problème.... En effet je n'avais pas mis de PJ car je pensais que ce souci avait déja été rencontré par un utilisateur d'excel et comme souvant avec ce forum, les réponses sont bien vite élucidées, toutes mes excuses.
Voici un petit fichier qui présente mon problème et ce que je souhaiterais réaliser avec un plus grand nombre de lignes et de formules.

Merci à tous de votre aide.
 

Pièces jointes

Re : Copier des valeurs avec formules et coller seulement les valeurs

Bonjour et Merci DoubleZero,
Effectivement après les premiers essais cette macro fonctionne parfaitement. Pour le test j'ai envoyé un seul fichier, mais dans la réalité il me faudra effectuer le transfert dans un autre fichier totalement vierge. Si cela est possible pourrais tu me modifier la macro pour que celle ci ouvre un autre fichier excel appeler "transfert" par exemple et effectuer exactement la même fonction ? Je ne peux pas réaliser moi même cette modification dans ta macro n'ayant pas de compétence en VBA. J'essais déja de la comprendre....et ce n'est pas rien !!!
Merci de ton aide.
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Si cela est possible pourrais tu me modifier la macro pour que celle ci ouvre un autre fichier excel appeler "transfert" par exemple et effectuer exactement la même fonction ? Je ne peux pas réaliser moi même cette modification dans ta macro n'ayant pas de compétence en VBA. J'essais déja de la comprendre....et ce n'est pas rien !!!
Merci de ton aide.

Re-bonjour à toutes et à tous,

@ alain18,

Mes compétences en VBA sont nulles... ! J'essaie difficilement ( ! ) d'aboutir à quelque chose avec l'enregistreur. Par conséquent, je sais fort bien que "ce n'est pas rien".

Ci-joint, un nouvel essai (testé chez moi).

Code:
Sub Transférer()
   Application.ScreenUpdating = False 'accélère l'éxecution et évite le scintillement de l'écran
   ChDir "C:\Users\DoubleZero\Desktop"
    Workbooks.Open Filename:="C:\Users\DoubleZero\Desktop\Transfert.xls"
    Columns("B:D").Select
    Range("B4").Activate
    Selection.Delete Shift:=xlToLeft
    Windows("00 alain18 V02.xls").Activate
    Columns("B:D").Select
    Range("B4").Activate
    Windows("Transfert.xls").Activate
    Windows("00 alain18 V02.xls").Activate
    Selection.Copy
    Windows("Transfert.xls").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("00 alain18 V02.xls").Activate
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Transfert.xls").Activate
    Columns("B:B").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Windows("00 alain18 V02.xls").Activate
    Selection.Copy
    Windows("Transfert.xls").Activate
    Columns("B:D").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("E3").Select
        Windows("00 alain18 V02.xls").Activate
Range("E4").Select
End Sub

Il conviendra de remplacer, dans la macro :

- "DoubleZero" par le nom d'emploi (alain18 ?) ;

- l'emplacement du fichier destiné à recevoir la copie sous forme de données.

Si le résultat attendu n'est pas le désiré, une main experte viendra sûrement corriger les dysfonctionnements rencontrés 🙂.

Bon courage !
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Re-Bonjour à tous,
Merci DoubleZéro pour ton aide. La macro fonctionne parfaitement. Moi aussi j'utilise bien souvant l'enregistreur pour créer des macros mais dans ce cas précis je n'y suis pas arrivé. J'essais de comprendre par quelle méthode que tu as réalisé la copie, mais là encore je n'ai pas compris. Je remarque que tu utilises la fonction "Transférer" mais je n'arrive pas à bien suivre cette macro.
Si ce n'est pas abuser de ton temps, pourrais tu me mettre sur la voie pour mieux comprendre la démarche après avoir lancé l'enregistreur ?
Je comprendrai que ma demande n'est pas d'un haut niveau, mais depuis que j'utilise ce forum, j'ai réalisé des choses que je n'aurais jamais imaginés il y a quelques années.
Par avance je te remercie et merci à toutes celles et ceux qui nous viennent en aide.
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Bonjour alain18, DoubleZero,

N'ayant pas Excel ce weekend, et comme le relai était assuré par DoubleZero, je ne suis pas intervenu.

Pour ta question sur l'enregistreur de macro :

menu Outil/Macro/nouvelle macro… puis OK (*)
puis tu fais tes opérations
puis Outil/Macro/Arrêter l'enregistrement
et tu récupères la macro dans le classeur que tu avais choisi

(*) Ici, pour mieux comprendre ce qui se passe, si tu as un grand écran, tu ouvre, Visual Basic Editor (si ce n'est pas déjà fait) et tu ouvres le module où se trouve la macro en cours d'enregistrement, tu la verras s'écrire au fur et à mesure, ce qui facilite son déchiffrement et permet d'enlever beaucoup de scories inutiles.
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Bonjour alain18, le Forum,

Afin de tenter une explication, exercice difficile... j'ai dû recommencer la procédure.

Le résultat s'est "allégé".

Voici, alain18, le nouveau code avec quelques commentaires.

Bon courage 🙂

Code:
 Sub Transfert()

    Application.ScreenUpdating = False 'accélère l'éxecution et évite le scintillement de l'écran
    Columns("B:D").Select 'sélection des colonnes devant être transférées
    Range("B4").Activate
    Selection.Copy 'dupliquer la sélection
    Windows("Transfert.xls").Activate 'aller dans le fichier dénommé Transfert
    Range("B1").Select 'se positionner en B1
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False 'collage spécial "valeur et format des nombres"
    Windows("Dossier original.xls").Activate 'retour au fichier dénommé Original
    Application.CutCopyMode = False
    Selection.Copy 'utiliser le pinceau pour reproduire la mise en forme
    Windows("Transfert.xls").Activate
    Columns("B:D").Select 'appliquer le pinceau sur les colonnes B, C, D
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("E6").Select
    Windows("Dossier original.xls").Activate
    Range("E4").Select
End Sub
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Re-bonjour,

L'ajout de ce code (à adapter)

Code:
Workbooks.Open Filename:="C:\Users\alain18\Desktop\Transfert.xls"
    Windows("Dossier original.xls").Activate

en tout début de procédure, permet d'ouvrir automatiquement le fichier sur lequel la copie doit être faite.
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Merci à tous les deux,
Je comprends parfaitement le principe d'enregistrement d'une macro, mais décidemment je suis vraiement bouchéééé......dans celle-ci, je souhaiterais juste savoir comment il faut démarrer les 3 ou 4 premières lignes et si je n'ai toujours rien compris et bien je retournerai jouer avec mes billes...!!
J'ai testé de la manière suivante:
- je lance l'enregistreur
- dans le fichier original je sélectionne les colonnes B,C et D
- je fais copier
Et là, tout est déja faut....
Bien sûr, ce n'est pas le bon chemin !
J'espère que je vous arriverai à me faire démarrer (seul) cette diable de macro.
Merci.
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Re-bonjour,

J'ai testé de la manière suivante:
- je lance l'enregistreur
- dans le fichier original je sélectionne les colonnes B,C et D
- je fais copier
Et là, tout est déja faut....

Je ne comprends pas où cela peut-il "coincer" 🙁 !

Qu'est-ce qui est déjà tout faux 😕 ?

Quel est le résultat obtenu 😕 ?

Pourrait-on avoir des copies d'écran ou les fichiers en question 🙂 ?
 
Re : Copier des valeurs avec formules et coller seulement les valeurs

Re-bonjour,
Il est parfois bon d'ètre repoussé dans ces derniers retranchements....J'ai donc tout repris et là, je me suis aperçu que je copiais d'abord le format et ensuite je ne pouvais pas coller les valeurs sans avoir le message "Cette opération requiert que les cellules fusionnées soit de tailles identique" il fallait faire l'inverse.
Deuxième erreure, en voulant recréer la macro, je ne supprimais pas la fusion des cellules dans le fichier de destination, donc même pb.
Il ne me reste plus qu'à mettre en place cette macro sur mon fichier définitif.
Je tiens à vous remercier pour votre aide et surtout DoubleZéro, pour ta réactivité et aussi ta grande patience !!
J'espère que ma prochaine visite sera moins chia.......
A bientôt sur le forum !!
 
- 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

N
Réponses
6
Affichages
2 K
Navillus
N
S
Réponses
29
Affichages
2 K
StanislasC
S
Retour