XL 2016 Boucle colonne puis ligne

  • Initiateur de la discussion Initiateur de la discussion GHISLAIN
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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.
 
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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
511
Réponses
7
Affichages
779
Réponses
3
Affichages
508
Retour