2000 colonnes en 3

Bonjour,

j'ai comme qui dirait un souci... J'ai fait plus de 2000 relevés de biodiversité que j'ai enregistrés sur excel. Chaque enregistrement comprend 3 colonnes et ils suivent tous de 3 colonnes en 3 colonnes. Je cherche à cleaner mes relevés et pour ce faire une des premières étapes est de les mettre à la suite les uns des autres sur 3 colonnes uniques.

Le mieux est que vous regardiez mon doc avec la partie à traiter "brut" et celle concernant ce que j'attends "Résultats_attendus".

j'ai pas mal vadrouillé sur le forum mais je n'ai pas trouvé chaussure à mes pieds (formules sympas lorsque l'on a quelques colonnes mais pas pour 2 mille...

Je suis prêt à faire des macros ou des formules matricielles mais je n'y connaîs rien pour l'instant.

Un grand merci d'avance,

Botaflo

12liste-unique-v1.xlsx (380.11 Ko)

Bonjour,

A essayer :

Sub Réorganiser()
    Dim T(), num, i%, j%, k%, n%, m&
    With Worksheets("Brut")
        With .UsedRange
            n = .Rows.Count: k = .Columns.Count
        End With
        For j = 1 To k Step 3
            num = IIf(.Cells(3, j + 1) = "", .Cells(3, j), .Cells(3, j + 1))
            If num = "" Then num = "Manque num"
            For i = 6 To n
                If .Cells(i, j) <> "" And .Cells(i, j) <> "Taxon" Then
                    m = m + 1: ReDim Preserve T(3, m)
                    T(0, m) = num: T(1, m) = .Cells(i, j)
                    T(2, m) = .Cells(i, j + 1): T(3, m) = .Cells(i, j + 2)
                End If
            Next i
        Next j
    End With
    With Worksheets("Résultat")
        .UsedRange.ClearContents
        With .Range("A1").Resize(m + 1, 4)
            .Value = WorksheetFunction.Transpose(T)
            .Columns.AutoFit
        End With
        .Activate
    End With
End Sub

Cordialement.

C'est exactement ce que je cherchais !! Merci beaucoup !!

Botaflo

C'est vraiment parfait ! Un énorme MERCI !

Botaflo

Rechercher des sujets similaires à "2000 colonnes"