Je sais même pas comment le décrire

Bonjour,

J'ai en feuille 1 une liste de nom (de longueur variable) (dans l'exemple 15 noms).

J'aurais besoin de créer une liste sur une seule colonne ou chaque noms est étiré le nombre de fois qu'il y a de noms (dans l'exemple 15 fois chaque nom étiré 15 fois sur la même colonne). (voir feuille 2).

Dans un second temps j'aurais besoin en colonne B de répéter la liste de nom le nombre de fois qu'il y a de nom (soit 15 fois).(voir feuille 2).

Et dans un troisième temps, de supprimer les lignes où le nom se répète en colonne A et B. (voir feuille 3 où la ligne 1 à été supprimée).

Merci d'avance.

18exemple.xlsx (15.17 Ko)

Bonjour,

la liste de la feuille 1 peut-elle contenir des doublons ou pas ?

non il ne peut pas y avoir de doublons

Résultat en Feuille2 :

Sub Demo2()
    VA = Feuil1.Cells(1).CurrentRegion.Value
    L& = UBound(VA)
    ReDim TR$(1 To (L - 1) * L, 1)

    For R& = 1 To L
        For C& = 1 To L
            If C <> R Then
                      N& = N& + 1
                TR(N, 0) = VA(R, 1)
                TR(N, 1) = VA(C, 1)
            End If
        Next
    Next

    With Feuil2.Cells(1)
        .CurrentRegion.Clear
        .Resize(N, 2).Value = TR
    End With
End Sub

C'est parfait, merci beaucoup!

J'ai tenté en vain d'annuler la partie où la ligne est supprimée si les colonnes A et B possèdent les mêmes mots (finalement je dois faire cela après d'autre manipulation).

Serait-il possible de supprimer cette partie et de l'isoler pour pouvoir le faire par la suite.

La ligne n'est pas supprimée car elle n'est même pas créée ! Test C <> R …

Ne pas oublier sinon le Générateur de macros, l'ami du débutant !

je suis désolé, mais je n'ai pas réussi à modifier le test C<>R. Je comprends que c'est ce qui permet de recopier sur les deux colonnes la liste tout en ne considérant pas deux valeurs similaires. J'ai tenté en modifiant par : If C <> R Or C = R Then

Mais cela m'indique que l'indice n'appartient pas à la sélection.

En réalisant l'enregistrement de macro, j'ai une liste interminable que je ne sais pas modifier.

Devoir : si une liste contient N éléments, combien de lignes alors dans la liste finale ?

NxN

Le problème que j'ai n'ai pas de recopier la liste un certain nombre de fois, mais d'étirer une case sur un certain nombre de cases et de répéter l'opération x fois

Oui c'est bien N² : donc dans mon code, modifier la déclaration de la variable TR (tableau résultat en conséquence)

puis supprimer la ligne du If et celle du End If , avec une once de jugeote …

Rechercher des sujets similaires à "sais meme pas comment decrire"