Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres copier coller colonne sans vide step3

  • Initiateur de la discussion Initiateur de la discussion st007
  • 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 !

st007

XLDnaute Barbatruc
Pour excel 2007
Bonjour,
Le but est de copier de la feuille 1 vers la 2
On copie par bloc (A1,C1) (A2,C2) ...... (P9,R9)
Sans tenir compte des vides exemple (M3,O3)
il est à considérer qu'il n'y a jamais de vide par bloc, le nombre de lignes et de colonne varient de 10 à 200

J'essaye de boucler, et si je suis ici, c'est que je n'y arrive pas évidement, merci d'avance de m'éclairer
 

Pièces jointes

Dernière édition:
Bonsoir st007,

Voyez le fichier joint et cette macro dans le code de Feuil2 :
VB:
Private Sub Worksheet_Activate()
Dim ncol%, tablo, nlig&, resu(), j%, i&, x, y, z, n&
With Feuil1.UsedRange
    ncol = Application.Ceiling(.Columns.Count, 3) 'PLAFOND
    tablo = .Resize(, ncol) 'matrice, plus rapide
    nlig = .Rows.Count
End With
ReDim resu(1 To nlig * ncol / 3, 1 To 3)
For j = 1 To ncol Step 3
    For i = 2 To nlig
        x = tablo(i, j): y = tablo(i, j + 1): z = tablo(i, j + 2)
        If x <> "" Or y <> "" Or z <> "" Then
            n = n + 1
            resu(n, 1) = x: resu(n, 2) = y: resu(n, 3) = z
        End If
Next i, j
'---restitution---
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A2] '1ère cellule de destination, à adapter
    If n Then .Resize(n, 3) = resu
    .Offset(n).Resize(Rows.Count - n - .Row + 1, 3).ClearContents 'RAZ en dessous
End With
End Sub
Elle se déclenche quand on active la feuille.

Elle est très rapide car elle utilise des tableaux VBA.

A+
 

Pièces jointes

Bonsoir,

@st007 vous trouverez dans le fichier joint, une requête et son tableau en feuille 2.
Vos données de la feuil1 ont été transformées en tableau structuré pour Power Query.
Si un tableau structuré ne convient pas, on peut simplement nommer une zone.

Si l'étape Pile de la requête vous semble compliquée, j'essaierai de la décomposer demain.

Cordialement
 

Pièces jointes

Dernière édition:
- 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
56
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…