Faire une boucle

Bonjour à tous

je souhaiterais appliquer ce type de programme:

Sub test()
    Columns("U:U").Select
    Selection.AutoFilter
    ActiveSheet.Range("$U$1:$U$440").AutoFilter Field:=1, Criteria1:="<>"
    Range("U9").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
    Windows("xxx.xlsm").Activate
    Sheets("Feuil1").Select
    Range("B2").Select
    ActiveSheet.Paste    
End Sub

mais je souhaiterais appliquer cette même opération pour n colonne.

Sauriez vous m'aider svp?

d'avance merci

Bonjour

De quelle colonne à quelle colonne ?
et vous copiez chaque fois dans le fichier xxx ? à partir de B2 ?

Crdlt

merci de t'être pencher sur le sujet

Dans mon programme j'ai copié la colonne U de mon fichier initial et je l'ai copié dans mon fichier XXX.xlsm dans la colonne B

J'aimerais coller la colonne A de mon fichier initial et la coller au même endroit c'est à dire dans la colonne B de mon fichier XXX.xlsm

Et ensuite

J'aimerais coller la colonne B de mon fichier initial et la coller dans la colonne B de mon fichier XXX.xlsm

et ainsi de suite jusqu'à la colonne U

D'avance merci

J'aimerais coller la colonne A de mon fichier et toujours la coller au même endroit c'est à dire dans ma colonne B dans mon fichier XXX.xlsm

C'est pas clair vos explications ...
Donc dans la colonne B en dessous des autres valeurs venant de la colonne U ?

Ou alors:

Colonne A du fichier vers colonne B du fichier xxx
colonne B du fichier vers colonne B du fichier xxx à la suite des autres données venant de la colonne A

j'ai apporté des précisions au message précédent

En gros ce que vous voulez faire c'est copier vos colonnes de A à U dans une seule colonne (colonne B ici) de votre fichier xxx

Si oui, les colonnes A à U sont remplies du même nombre de lignes ?

Quelle est le nom de la feuille de destination

les colonnes n'ont pas le même nombre de ligne.

je souhaite les copier pour réaliser une action

et ensuite aller chercher la colonne suivante pour réaliser cette même action et ainsi de suite jusqu' à avoir traité toutes les colonnes

Re

Essayez ce code dans lequel vous devez remplacer xxx par le nom de votre fichier de destination

Sub test()
Dim tablo()
Dim j As Integer, col As Integer, nbcol as Integer
Dim cel As Range, plage As Range

With ActiveSheet
    nbcol = .UsedRange.Columns.Count
    i = 1
    ReDim tablo(1)
    For col = 1 To nbcol
        Set plage = .Range(.Cells(2, col), .Cells(.Cells(Rows.Count, col).End(xlUp).Row, col))
        For Each cel In plage
            If .Cells(cel.Row, cel.Column) <> "" Then
                tablo(i) = .Cells(cel.Row, cel.Column).Value
                i = i + 1
                ReDim Preserve tablo(UBound(tablo) + 1)
            End If
        Next cel
    Next col
End With

Workbooks(xxx.xlsm).Sheets("feuil1").Range("B2").Resize(UBound(tablo)) = Application.Transpose(tablo)
End Sub

si ok....

Cordialement

merci c'est Top!

Je vais essayer d'analyser ces codes ....

Rechercher des sujets similaires à "boucle"