Insertion de n ligne suivant le nombre de colonne

Bonjour,

Je suis novice en création de Macros, après plusieurs heure de recherche, j'ai besoin de votre aide pour transformer des données.

Je vous joint le fichier de donnée initial et également le début du fichier final voulu.

J'aimerais enfaite obtenir uniquement 2 colonnes : 1 locusName et 1 GO.

Il faudrait insérer n ligne pour les locusName qui ont plus de 2+n colonnes et reporter les colonnes 2+n sur les lignes insérés.

J'espère avoir été assez clair.

Je vous remercie beaucoup de votre aide,

Lény

10fichier-initial.zip (664.34 Ko)

bonsoir Lencal

si j'ai bien compris ce que tu demande cette petite macro devrait te satisfaire

après un clic sur le bouton et quelques secondes d'attente

12fichier-initial.zip (719.12 Ko)

PAPYG

Bonjour et bienvenue sur le forum

Bonjour à tous

Une variante à tester.

9fichier-initial.zip (679.67 Ko)
Option Explicit

Dim fi As Worksheet, nom$, tablo, tabloR()
Dim i&, j&, k&

Sub Résultat()

    Set fi = Sheets("Cclementina_182_v1.0.annotation")
    tablo = fi.Range("A1").CurrentRegion
    k = 0
    For i = 1 To UBound(tablo, 1)
        If tablo(i, 2) = "" Then
            ReDim Preserve tabloR(1 To 2, 1 To k + 1)
            tabloR(1, k + 1) = tablo(i, 1)
            k = k + 1
            GoTo suite
        End If
        For j = 2 To UBound(tablo, 2)
            If tablo(i, j) = "" Then
                Exit For
            Else
                ReDim Preserve tabloR(1 To 2, 1 To k + 1)
                tabloR(1, k + 1) = tablo(i, 1)
                    tabloR(2, k + 1) = tablo(i, j)
                    k = k + 1
            End If
        Next j
suite:
    Next i
    Cells.ClearContents
    Range("A1").Resize(UBound(tabloR, 2), 2) = Application.Transpose(tabloR)
End Sub

Bye e

Super ça fonctionne parfaitement,

Merci beaucoup !!!!

Rechercher des sujets similaires à "insertion ligne suivant nombre colonne"