VBA - Copier le contenu d'une cellule et non sa formule

Résolu/Fermé
Thinkvantage - 10 juin 2015 à 12:36
 Thinkvantage - 10 juin 2015 à 14:53
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

J25300
Messages postés
48
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
16 décembre 2020
3
10 juin 2015 à 12:56
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
0
Thinkvantage
10 juin 2015 à 13:40
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.
0
michel_m
Messages postés
16574
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
3 août 2022
3 277
Modifié par michel_m le 10/06/2015 à 13:50
Bonjour
tampon=sheets(2).Range("AU3:AU400")
Sheets("Feuil3").Range("F5:F402")=tampon


Michel
0
Thinkvantage
10 juin 2015 à 13:51
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.
0
michel_m
Messages postés
16574
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
3 août 2022
3 277 > Thinkvantage
Modifié par michel_m le 10/06/2015 à 13:56
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
0
Thinkvantage
10 juin 2015 à 14:53
Merci beaucoup, ça marche très bien :)
0