XL 2016 Boucle colonne puis ligne

GHISLAIN

XLDnaute Impliqué
Bonjour les exceliens et exceliennes

je vous sollicite pour une boucle en vba pour récupérer des données

récupération des données sur une ligne espacés de plusieurs colonnes puis passer a la ligne suivante et recommencer

un fichier joint plus explicite sera plus parlant

merci pour vos retour

bien Amicalement

Ghislain
 

Pièces jointes

  • Classeur5.xlsx
    9.2 KB · Affichages: 9

Staple1600

XLDnaute Barbatruc
Re

Et pour les "bouclophiles" ;)
VB:
Sub b()
Dim i&
With Sheets(1).UsedRange.SpecialCells(2).Areas
For i = 1 To .Count
    With .Item(i).CurrentRegion
    '.Cut Sheets(2).Cells(1, i)  '(a)->déplacement sur feuille 2
    .Copy Sheets(2).Cells(1, i) '(b)-> copie sur feuille 2
    Application.CutCopyMode = False
    End With
    Next i
End With
End Sub
 

GHISLAIN

XLDnaute Impliqué
Bonjour JM,

merci d'étre passé sur mon fil

sauf erreur de ma par usedrange , concerne l'ensemble des données sur un onglet , sur mon doc d'origine les colonne de 1 à 892 sont renseignées et j'ai besoin d’extraire que des colonnes spécifiques :
de 53 à 204(avec un saut toute les 19 colonnes)
de 219 à 370(avec un saut toute les 19 colonnes)
de 508 à 659 (avec un saut toute les 19 colonnes)
ET de 674 à 825(avec un saut toute les 19 colonnes)

Merci de la proposition et dsl si je n'ai pas été claire dans mes explications

cdt

Ghislain
 

Staple1600

XLDnaute Barbatruc
Re

Je me suis amusé dans VBE (la faute au Covid-19) au lieu d'aller jouer dehors ;)
VB:
Sub Boucles_D_Or()
Dim i&, t()
Application.ScreenUpdating = False
For i = 1 To Cells(1).CurrentRegion.Columns.Count
    Select Case i
    Case 53, 219, 508, 674
    t = Cells(1, i).Resize(Cells(Rows.Count, i).End(3).Row, 152).Value
    With Sheets(2).Cells(1, Columns.Count).End(xlToLeft).Offset(, 1)
        .Font.Bold = True
        .Interior.Color = RGB(Val("Staple"), Val("1600"), Val("25/03/2020"))
        Resize(UBound(t, 1), UBound(t, 2)).Value = t
    End With
    Erase t
    Case Else
    End Select
Next
Sheets(2).[A:A].Delete
End Sub
NB: Test OK sur mon fichier de test créé selon les explications du message#4.
 

GHISLAIN

XLDnaute Impliqué
Bonjour Staple1600,

Que dire si ce n'est excellent ...........


puis-je abuser en demandant en complément d'avoir le choix du départ et fin de ligne à importer

ex : lignes 10 à 16
et également de transférer les données

pour la case 53 a partir de la ligne 14
pour la case 219 a partir de la ligne 24
pour la case 508 a partir de la ligne 67
pour la case 674 a partir de la ligne 79


Merci pour l'aide apporté

Bon courage pour le confinement

Amicalement

ghislain
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, GHISLAIN

•>GHISLAIN
Merci de la proposition et désolé si je n'ai pas été clair dans mes explications
cdt

Ghislain
C'est toujours mal éclairé ton histoire (en tout cas pour mon cortex)
Donc un fichier exemple, avec:
Sur feuille 1) Les données de départ (juste pour 53 et 219)
Sur feuille 2) Le résultat à obtenir.

NB: Joindre fichier Excel sans données confidentielles.
 

Discussions similaires

Réponses
3
Affichages
252