recopier une ligne sur deux

K

kinarius

Guest
bonjour,

Mon probleme est le suivant:
je voudrais recopier les données d'une colonne dans une autre colonne mais une ligne sur deux

exemple:
A1, A2 A3 A4 A5 en B1 B3 B5 B7 B9.

Merci de votre aide.
 

excalibur

XLDnaute Impliqué
bonjour kinarius en attendant de trouver mieux option explicit Sub test1()
Application.ScreenUpdating = False
For Each Cell In Range('a1', [a1].End(xlDown)).SpecialCells(xlCellTypeVisible)
If Cell.Value <> '' Then
Cell.Copy
Range('b65536').End(xlUp).Offset(2, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next
End Sub'salutations
 
L

laM

Guest
Bonjour

Juste par jeu, de plus en plus court :
=SI(MOD(LIGNE();2);INDEX(A$1:A$20;(LIGNE()+1)/2);'')
Et si on a pas peur des zéros encore plus court :
=MOD(LIGNE();2)*INDEX(A$1:A$20;(LIGNE()+1)/2)
=MOD(LIGNE();2)*DECALER(A$1;(LIGNE()-1)/2;)


Au revoir, à bientôt

P.S. Avec ça, j'espère bien emporter le titre de gros fainéant du clavier ;-)
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir à toutes et à tous :)

Je ne rivaliserai pas avec les pros des formules mais je propose une solution par macro ; utile dans le cas d'un tableau avec de nombreuses lignes...

Avantage :
- gain de place de stockage (ex. pour 3000 lignes en col A et données recopiées en Col B, fichier de 199 Ko contre 381Ko avec formules)
- Pas besoin de connaître à l'avance jusqu'où recopier les formules.

Inconvénients :
- Obligation de lancer la macro pour chaque recalcul
- Très grande lenteur d'exécution par rapport aux formules (gros handicap)

Enfin bref, voilà quand même le fichier exemple...

Amicalement
Charly [file name=kinarius.zip size=36505]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/kinarius.zip[/file]
 

Pièces jointes

  • kinarius.zip
    35.6 KB · Affichages: 136

andré

XLDnaute Barbatruc
Salut à vous tous,

Pour laM : tes deux dernières formules ne fonctionnent pas si les valeurs sont en format texte (je l'ai remarqué parce que j'y avais aussi songé !).

Une petite raccourcie pour ma première proposition :
=SI(MOD(LIGNE();2);INDIRECT('A'&(LIGNE()+1)/2);'')

Â+
 

Discussions similaires

Statistiques des forums

Discussions
312 931
Messages
2 093 719
Membres
105 794
dernier inscrit
mallet