XL 2010 Copier coller les valeurs d'une plage de cellules sur la première ligne vide d'une autre feuille

SANDRA2012

XLDnaute Junior
Bonjour à tous,

voici un résumé de ce que je souhaite:
J'ai 3 feuilles :
feuille 1 > "2016" là ou la valeur de mes cellules doivent être copiées
feuille 2 > "copie mail" ou je rentre mes données
feuille 3> "intermédiaire" ou se copie une partie des info de "copie mail " sous forme de formules

J'ai donc créé une macro qui me permet de copier les valeurs d'un plage de cellules qui n'ai pas fixe de la feuille "intermédiaire" vers la première ligne vide de la feuille "2016".
Ma plage sur la feuille " intermédiaire" va de A1 à Hx je souhaite prendre la dernière ligne vide (en valeur car j'ai des formules dans beaucoup de cellules mais elle sont vides en valeurs)
Voici ma macro:
Sub copier()

Application.ScreenUpdating = False


Dim x As Long

x = Sheets("intermédiaire").Range("H" & Rows.Count).End(xlUp).Row '<-- trouve la dernière ligne utilisée de la colonne R

Sheets("intermédiaire").Range("A1:H" & x).Copy Sheets("2016").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)


Application.ScreenUpdating = True

End Sub

Elle fonctionne mais me copie les formules au lieu de me copier les valeurs quelqu'un pourrait il m'éclairé ?
Merci d'avance
bonne après midi
 

Dranreb

XLDnaute Barbatruc
Bonjour.

Essayez:
VB:
Sheets("2016").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Resize(x, 8).Value = Sheets("intermédiaire").Range("A1:H" & x).Value
 

Paf

XLDnaute Barbatruc
Bonjour SANDRA2012, Dranreb,

une autre solution, passer par le collage spécial Valeurs :

Code:
Sheets("intermédiaire").Range("A1:H" & x).Copy
Sheets("2016").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues

A+

Edit : suppression d'un "." superflu
 
Dernière édition:

Paf

XLDnaute Barbatruc
re,

et pour trouver la dernière cellule affichant une valeur (donc sans les cellules avec formules renvoyant ""), une solution:


VB:
x = Sheets("intermédiaire").Range("H1:H" & Rows.Count).Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row

A+
 

Discussions similaires


Haut Bas