Copier plusieurs cellules et les coller dans une autre feuille

Résolu/Fermé
Oscar - 17 août 2017 à 21:31
 OscarC - 18 août 2017 à 04:14
Bonjour,


Je débute très récemment sur VBA- Excel. J’ai une feuille nommée "Calcul" dont je saisis de l’information et réalise certains calculs avec des formules. Chaque calcul représente un dossier. Je voudrais copier des valeurs contenues dans les différentes cellules de la feuille "Calcul" pour les enregistrer en tant que données dans les colonnes "A" à "Q" (17 données).
Voici mon code (uniquement la première donnée (cellule) à enregistrer sur la colonne "A" :

Sub Save_Data_Test4() ' Copier les données de différents cellules d'une feuille...
' ...à une autre organisé comme base de données

With Sheets("Calcul").Cells(6, 2) ' Sélectioner la cellule d'origin
.Value = .Value 'Copier uniquement les valeurs, pas les formules
.Copy Sheets("Données").Cells(65535, 1).End(xlUp)(2)

' enregistrer sur la feuille destination dans colonne de la variable, sur la ligne vide suivante

End With

' le même With...End With à plusieurs reprises pour copier/coller les 17 données

End Sub

Alors, j’utilise .Value = .Value pour copier que des valeurs, mais je ne trouve pas la façon d’éviter que le format d’origine soit copié avec des polices, bordures, couleurs, etc., en fait, je voudrais que les valeurs soient collées en vrac, et qu'elles prennent le format de la cellule de destination.

Il y a quelque chose à ajouter au code?

Merci!
A voir également:

1 réponse

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
17 août 2017 à 22:18
bonsoir, moi je ferais
Sheets("Données").Cells(65535, 1).End(xlUp)(2).Value= _
 Sheets("Calcul").Cells(6, 2) 

au lieu de
With Sheets("Calcul").Cells(6, 2) ' Sélectioner la cellule d'origin 
.Value = .Value 'Copier uniquement les valeurs, pas les formules 
.Copy Sheets("Données").Cells(65535, 1).End(xlUp)(2) 
1
Merci, ça marche beaucoup mieux, par ailleurs, mon code était incorrect, car << .Value = .Value >> convertait mes formules en valeur dans la cellules d'origine.
0