Selectionner une ligne sur 2 Excel VBA
steph4
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais pouvoir créer une macro avec VBA pour sélectionner une ligne sur deux dans mon document excel de 1415 lignes.
(donc copier la ligne 3,5,7,9,11...etc jusqu'à 1415)
Je n'arrive pas du tout à trouver un code capable de le faire.
Pourriez-vous m'aider ?
Merci,
J'aimerais pouvoir créer une macro avec VBA pour sélectionner une ligne sur deux dans mon document excel de 1415 lignes.
(donc copier la ligne 3,5,7,9,11...etc jusqu'à 1415)
Je n'arrive pas du tout à trouver un code capable de le faire.
Pourriez-vous m'aider ?
Merci,
A voir également:
- Selectionner une ligne sur 2 Excel VBA
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Partager photos en ligne - Guide
- Word et excel gratuit - Guide
1 réponse
Bonjour
proposition
la maquette de W
http://www.cjoint.com/c/EKxh1vpKooa
Michel
proposition
Option Explicit
Option Base 1
'colonnes concernées pour éviter de copier 16384 colonnes....
Const Col_deb As Byte = 1 'colonne A à adapter
Const Col_fin As Byte = 4 'colonne D à adapter
'---------------------------------------------
Sub copier_1sur2()
Dim Derlig As Long, T_in, T_out
Dim Lig As Integer, Col As Byte, Idx As Integer
'---------------initialisation
Application.ScreenUpdating = False
With Sheets(1)
'mémorisation tableau initial
Derlig = .Columns(Col_deb).Find(what:="*", searchdirection:=xlPrevious).Row
T_in = .Range(.Cells(3, Col_deb), .Cells(Derlig, Col_fin))
End With
'préparation tableau 1/2
ReDim T_out(Int(Derlig / 2) - 1, Col_fin - Col_deb + 1)
'---------------------traitement
For Lig = 1 To UBound(T_in) Step 2
Idx = Idx + 1
For Col = Col_deb To Col_fin
T_out(Idx, Col) = T_in(Lig, Col)
Next
Next
'---------------------restitution
With Sheets(2)
.Range("A2").Resize(UBound(T_out), Col_fin - Col_deb + 1) = T_out
.Activate
End With
End Sub
la maquette de W
http://www.cjoint.com/c/EKxh1vpKooa
Michel