Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copier/coller decallage

14 réponses
Avatar
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

10 réponses

1 2
Avatar
isabelle
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
Avatar
Manu
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" a écrit dans le message de news:
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

Avatar
isabelle
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
Avatar
Manu
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" a écrit dans le message de news:
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

Avatar
isabelle
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" a écrit dans le message de news:
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





Avatar
Manu
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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





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

--
isabelle
Avatar
Manu
C'est la ligne 4 de la 7eme page

Merci

Manu

"isabelle" a écrit dans le message de news:
j0agu2$93v$
as tu le numéro de ligne pour la premiere valeur à inscrire ?

--
isabelle

Avatar
isabelle
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
Avatar
Manu
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" a écrit dans le message de news:
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
1 2