OVH Cloud OVH Cloud

concatenation de fichiers

1 réponse
Avatar
lematou
Bonjour à tous,
il y a un petit moment j'avais posté une question pour savoir comment je
pouvais m'y prendre de maniere simple pour copier un nombre indéterminé de
lignes depuis plusieurs fichiers vers un seul fichier.
jacky tres aimablement m'avait répondu ceci:
Sub jj()
derlC = Sheets("feuil1").Range("a65536").End(3).Row
derlD = Sheets("feuil2").Range("a65536").End(3).Row + 1
Range("a" & derlC - 2 & ":e" & derlC).Copy
Sheets("feuil2").Range("a" & derlD + (derlD = 2)).PasteSpecial
> Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

et j'y trouvais mes petis mais,
maintenant je voudrais faire évoluer cette macro,

je voudrais copier toutes les lignes d'une feuille sauf la ligne 1 (les
titres)
et ce sur l'ensemble des colones et non pas uniquement 5 col comme ici.

si par la meme quelqu'un pouvait me dire à quoi sert la ligne de cmde suivante
> Paste:=xlPasteValues
parceque si je la met en commentaire la macro fonctionne alors qu'autrement
j'ai une erreur de compil.

nota: je suis en XLS 2000

d'avance merci de l'attention que vous porterez à mon problème.

excusez moi pour ces questions probablement simple pour vous mais moi il
faut que je me batte.

Cordialement, au plaisire de vous lire
JACK dit lematou

1 réponse

Avatar
JB
On 1 fév, 15:54, lematou wrote:
Bonjour à tous,
il y a un petit moment j'avais posté une question pour savoir comment je
pouvais m'y prendre de maniere simple pour copier un nombre indétermin é de
lignes depuis plusieurs fichiers vers un seul fichier.
jacky tres aimablement m'avait répondu ceci:
Sub jj()
derlC = Sheets("feuil1").Range("a65536").End(3).Row
derlD = Sheets("feuil2").Range("a65536").End(3).Row + 1
Range("a" & derlC - 2 & ":e" & derlC).Copy
Sheets("feuil2").Range("a" & derlD + (derlD = 2)).PasteSpecial
Paste:=xlPasteValues
Application.CutCopyMode = False

End Sub

et j'y trouvais mes petis mais,
maintenant je voudrais faire évoluer cette macro,

je voudrais copier toutes les lignes d'une feuille sauf la ligne 1 (les
titres)
et ce sur l'ensemble des colones et non pas uniquement 5 col comme ici.

si par la meme quelqu'un pouvait me dire à quoi sert la ligne de cmde s uivante
Paste:=xlPasteValues
parceque si je la met en commentaire la macro fonctionne alors qu'autreme nt

j'ai une erreur de compil.

nota: je suis en XLS 2000

d'avance merci de l'attention que vous porterez à mon problème.

excusez moi pour ces questions probablement simple pour vous mais moi il
faut que je me batte.

Cordialement, au plaisire de vous lire
JACK dit lematou


Bonjour,

Prend à partir de la ligne 2 et le nb de colonnes est variable.

http://cjoint.com/?cbrul8FgYX

Sub consolide_ongletsSimple()
Sheets("base").[a2:d1000].ClearContents
For s = 2 To Sheets.Count
Range(Sheets(s).[a2], Sheets(s).
[A65000].End(xlUp).End(xlToRight)).Copy _
[A65000].End(xlUp).Offset(1, 0)
Next s
End Sub

Sub consolide_ongletsFormules()
Sheets("base").[a2:d1000].ClearContents
For s = 2 To Sheets.Count
Range(Sheets(s).[a2], Sheets(s).
[A65000].End(xlUp).End(xlToRight)).Copy
[A65000].End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Next s
End Sub

Sub consolide_ongletsNomOngletEtCouleur()
Sheets("base").[a2:d1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[a2], Sheets(s).[A65000].End(xlUp)).Rows.Count
Range(Sheets(s).[a2], Sheets(s).
[A65000].End(xlUp).End(xlToRight)).Copy _
[A65000].End(xlUp).Offset(1, 0)
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex =
_
Sheets(s).[a2].Interior.ColorIndex
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

JB