VBA - Copier le contenu d'une cellule et non sa formule [Résolu/Fermé]

Signaler
-
 Thinkvantage -
Bonjour,

Je cherche à copier des informations contenues de la feuille 2 d'un classeur dans la feuille 3 du même classeur.

Mon code marche mais copie la formule des cellules (j'obtiens alors des #REF! partout),je ne voudrais que le contenu des cellules. Connaîtriez-vous une solution?

Application.EnableEvents = False
With Worksheets("Feuil2")



'Générique français
.Range("AU3:AU400").Copy Worksheets("Feuil3").Range("F5:F402")

'Générique Anglais
.Range("BU3:BU400").Copy Worksheets("Feuil3").Range("G5:G402")

'Dimensions
.Range("CB3:CB400").Copy Worksheets("Feuil3").Range("S5:S402")

End With
Application.EnableEvents = True


Merci d'avance !

2 réponses

Messages postés
45
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
4 juin 2016
2
Bonjour,

Copier vos données de la feuille 1, puis aller sur votre feuille 3, selon votre tableur:
Excel: Collage spécial (à droite dans la bande "Accueil"), cocher valeurs et formats (si vous voulez garder votre format) puis OK.
LibreOffice ou OpenOffice: Edition, Collage spécial, cocher texte, date et heures, nombre, formats puis OK.
Notez que si vous aviez voulu garder que les formules, vous le pouviez aussi.
Si vous tenez au code VBA pour Excel, "Selection.Pastespecial Paste:=xlPasteValues" et pour garder les formats "Selection.Pastespecial Paste:=xlPasteFormats". pour garder les formules cela aurait été "Selection.Pastespecial Paste:=xlPasteFormulas" en ayant bien sûr défini les "range".

Bonne journée

Jeanne

Merci de prendre le temps de me répondre.

Je suis obligée d'utiliser une macro, et j'ai testé ce code :

Range("BU3:BU400").Select
Selection.Copy
Range("G5").Select
Selection.PasteSpecial Paste:=xlPasteValues


Mais ça ne marche pas car je ne sais pas comment lui dire de copier dans feuil2 et de coller dans feuil3.
Messages postés
16131
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 mars 2020
2 905
Bonjour
tampon=sheets(2).Range("AU3:AU400")
Sheets("Feuil3").Range("F5:F402")=tampon


Michel

Merci de m'accorder un peu de votre temps !

Je viens de tester votre proposition, mais quelque chose ne marche pas puisqu'elle copie le 1er mot contenu dans AU3 dans toute la colonne destinataire F5.
michel_m
Messages postés
16131
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 mars 2020
2 905 > Thinkvantage
je viens juste de modifier mon dernier message en utilisant seulement une variable intermédiaire
(j'avais mal lu car j' avais cru qu'on passait de l'horizontal au vertical !) :-/
donc
tampon=sheets(("Feuil3").Range("AU3:AU400")
Sheets("Feuil3").Range("F5:F402")=tampon

Merci beaucoup, ça marche très bien :)