copier/coller decallage

Le
Manu
Bonjour à tous,

J'ai dans ma feuil1 dans la ligne 2 diverses cellules remplies,
exemple :
B2 : titi
D2 : mimi
E2 : riri
H2 : sisi

ce ne sont pas toujours les meme cellules de remplies ni le meme nombre,
mais c'est tjrs sur la ligne 2

Je souhaite copier les valeurs de chaque cellule remplie de cette ligne 2 de
la Feuil1 dans la col C de la feuil2 les unes en dessous des autres en
passant tjrs une ligne et en commencant par C2.

Je devrais donc avoir en Feuil2 :
C2 : titi
C4 : mimi
C6 : riri
C8 : sisi

Pour info, je suis sur office 2007

Merci de votre aide.

Manu
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #23590521
bonjour Manu,

il faut faire un collage spécial transposé.

Set rng1 = Sheets("Feuil1").Range("A2:" & Sheets("Feuil1").Range("IV2").End(xlToLeft).Address)
Set rng2 = Sheets("Feuil2").Range("C2")
rng1.Copy
rng2.PasteSpecial Transpose:=True


--
isabelle
Manu
Le #23590811
Bonjour Isabelle,

J'avais reussi à faire cela par l'enregistreur, mais la difficultée est que
je ne souhaite pas les coller transposé tel quel, je souhaite que chaque
contenu arrive toute les 2 cellules de la col C de la feuil 2

Exemple :
Si en Feuil1 :
A2 : lolo
B2 : riri
G2 : Fafa
H2 : lulu

Alors je souhaiterais avoir en Feuil2 dans Col C en demarrant sur C2 :
C2 : lolo
C4 : riri
C6 : Fafa
C8 : lulu
C10 ...... si il y avais d'autres cellules pleine dans la ligne 2 de la
Feuil1

Merci

Manu

"isabelle" j09a6h$52h$
bonjour Manu,

il faut faire un collage spécial transposé.

Set rng1 = Sheets("Feuil1").Range("A2:" &
Sheets("Feuil1").Range("IV2").End(xlToLeft).Address)
Set rng2 = Sheets("Feuil2").Range("C2")
rng1.Copy
rng2.PasteSpecial Transpose:=True


--
isabelle

isabelle
Le #23590881
bonjour Manu,

dans ce cas,

Set rng1 = Sheets("Feuil1").Range("A2:" & Sheets("Feuil1").Range("IV2").End(xlToLeft).Address)
For Each c In rng1
If Not c = "" Then
x = x + 2
Sheets("Feuil2").Range("C" & x) = c
End If
Next

--
isabelle
Manu
Le #23590991
Epatant, et en si peu de temps..... quand je pense le temps qu'il me faut
pour trouver des bricoles....

Tiens, je vais en profiter pour savoir si il est possible de faire la meme
chose dans Word, c'etais mon 1er but, mais je me suis dis que ce serais
certainement tres difficile voir impossible.
Je m'explique : j'ai toujours dans excel Feuil1 diverses cellules pleine
dans la ligne 2, et je souhaitais que ca les colles une ligne sur deux dans
un doc Word page 7 à un endroit precis (peut etre avec un signet ou un n° de
ligne...)

En faite, le but final de ce collage etais pour les mettre dans un doc Word,
mais etant donné la difficulté probable, je me suis dis que je referais le
doc Word dans Excel.

Encore Merci

Manu

"isabelle" j09dti$igq$
bonjour Manu,

dans ce cas,

Set rng1 = Sheets("Feuil1").Range("A2:" &
Sheets("Feuil1").Range("IV2").End(xlToLeft).Address)
For Each c In rng1
If Not c = "" Then
x = x + 2
Sheets("Feuil2").Range("C" & x) = c
End If
Next

--
isabelle

isabelle
Le #23591121
est ce qu'il y a sur le fichier word un espace déjà prévue pour mettre ces données,
ou doit on décaler les autres lignes à chaque insertion de donné ?

--
isabelle

Le 2011-07-21 11:00, Manu a écrit :
Epatant, et en si peu de temps..... quand je pense le temps qu'il me faut
pour trouver des bricoles....

Tiens, je vais en profiter pour savoir si il est possible de faire la meme
chose dans Word, c'etais mon 1er but, mais je me suis dis que ce serais
certainement tres difficile voir impossible.
Je m'explique : j'ai toujours dans excel Feuil1 diverses cellules pleine
dans la ligne 2, et je souhaitais que ca les colles une ligne sur deux dans
un doc Word page 7 à un endroit precis (peut etre avec un signet ou un n° de
ligne...)

En faite, le but final de ce collage etais pour les mettre dans un doc Word,
mais etant donné la difficulté probable, je me suis dis que je referais le
doc Word dans Excel.

Encore Merci

Manu

"isabelle" j09dti$igq$
bonjour Manu,

dans ce cas,

Set rng1 = Sheets("Feuil1").Range("A2:"&
Sheets("Feuil1").Range("IV2").End(xlToLeft).Address)
For Each c In rng1
If Not c = "" Then
x = x + 2
Sheets("Feuil2").Range("C"& x) = c
End If
Next

--
isabelle





Manu
Le #23591481
Oui, il y a un espace prevu, à la 7eme page, il y a un titre puis 3 retour
lignes puis un saut de page, il faudrais donc inserer les elements d'Excel
juste au dessus du saut de page.


"isabelle" j09glp$igq$
est ce qu'il y a sur le fichier word un espace déjà prévue pour mettre ces
données,
ou doit on décaler les autres lignes à chaque insertion de donné ?

--
isabelle

Le 2011-07-21 11:00, Manu a écrit :
Epatant, et en si peu de temps..... quand je pense le temps qu'il me faut
pour trouver des bricoles....

Tiens, je vais en profiter pour savoir si il est possible de faire la
meme
chose dans Word, c'etais mon 1er but, mais je me suis dis que ce serais
certainement tres difficile voir impossible.
Je m'explique : j'ai toujours dans excel Feuil1 diverses cellules pleine
dans la ligne 2, et je souhaitais que ca les colles une ligne sur deux
dans
un doc Word page 7 à un endroit precis (peut etre avec un signet ou un n°
de
ligne...)

En faite, le but final de ce collage etais pour les mettre dans un doc
Word,
mais etant donné la difficulté probable, je me suis dis que je referais
le
doc Word dans Excel.

Encore Merci

Manu

"isabelle" j09dti$igq$
bonjour Manu,

dans ce cas,

Set rng1 = Sheets("Feuil1").Range("A2:"&
Sheets("Feuil1").Range("IV2").End(xlToLeft).Address)
For Each c In rng1
If Not c = "" Then
x = x + 2
Sheets("Feuil2").Range("C"& x) = c
End If
Next

--
isabelle





isabelle
Le #23593061
as tu le numéro de ligne pour la premiere valeur à inscrire ?

--
isabelle
Manu
Le #23593461
C'est la ligne 4 de la 7eme page

Merci

Manu

"isabelle" j0agu2$93v$
as tu le numéro de ligne pour la premiere valeur à inscrire ?

--
isabelle

isabelle
Le #23595501
en ajoutant un Signet "MonBookmarks" à l'endroit que tu as indiqué tu pourrais utiliser un code comme celui-ci

ActiveDocument.Bookmarks("MonBookmarks").Select
For Each c In MyRange
pos1 = Selection.Range.Start
char = Selection.EndOf(Unit:=wdWord, Extend:=wdExtend)
ActiveDocument.Range(Start:=pos1, End:=pos1 + char) = c
Selection.MoveDown Unit:=wdLine, Count:=1
Next


--
isabelle

Le 2011-07-22 03:15, Manu a écrit :
C'est la ligne 4 de la 7eme page

Merci

Manu
Manu
Le #23597161
Bonjour,
J'ai créé un signet d'une marque de paragraphe et l'ai renvoyé juste en
dessous, est-ce bien cela qu'il faut faire ...
Ca bug dés cette 1ere ligne :
ActiveDocument.Bookmarks("MonBookmarks").Select

Je suppose que c'est parce qu'il ne sait pas quel fichier Word ni son
emplacement

exemple : C:2011toto.docx

Manu


"isabelle" j0c8v6$tgq$
en ajoutant un Signet "MonBookmarks" à l'endroit que tu as indiqué tu
pourrais utiliser un code comme celui-ci

ActiveDocument.Bookmarks("MonBookmarks").Select
For Each c In MyRange
pos1 = Selection.Range.Start
char = Selection.EndOf(Unit:=wdWord, Extend:=wdExtend)
ActiveDocument.Range(Start:=pos1, End:=pos1 + char) = c
Selection.MoveDown Unit:=wdLine, Count:=1
Next


--
isabelle

Le 2011-07-22 03:15, Manu a écrit :
C'est la ligne 4 de la 7eme page

Merci

Manu
Publicité
Poster une réponse
Anonyme