Comparer des cellules en ligne puis créer des colonnes

Bonjour à tous,

Je souhaiterai créer un programme qui me permettrait de comparer les cellules de différentes lignes par rapport à la première ligne pour m'assurer que toutes mes lignes sont identiques.

Si jamais la j ème cellule de la i ème ligne était différente de la i ème cellule de la première ligne, je voudrais que mon programme insère une colonne à gauche de la j ème colonne et que dans l'ensemble des cellules de la nouvelle colonne créée, il y ait le contenu de la cellule de la ième ligne et de la j ème colonne, qui posait problème juste avant.

Puis, je souhaiterai que la ième ligne se décale d'une cellule vers la gauche de la j+1 ème cellule à la dernière cellule.

Voilà mon programme ci-dessous, qui ne cesse jamais de s'exécuter après avoir été lancé, quelqu'un aurait-il un programme fonctionnel à me proposer ?

Sub Elem()

For i = 2 To 24

For j = 1 To 647

If Not Cells(1, j) = Cells(i, j) Then
Columns(j).Select
Selection.Insert Shift:=xlToLeft

For k = 1 To 24
Cells(k, j) = Cells(i, j + 1)
Next
For l = j To 660
Cells(i, l + 1).Select
ActiveCell.Offset(0, -1) = Cells(i, l + 1)
Next
End If
Next
Next

End Sub

J'ai mis le fichier Excel (Test) sur lequel je travaille en pièce jointe.

Merci d'avance

Etrof

10test.xlsx (101.03 Ko)

Bonjour,

Rien compris comme souvent mais si je savais qu'excel est capable de gérer pas mal de colonnes, ici il y en a + de 600c'est particulièrement indigeste ...

Tu es certain de ne pas pouvoir mettre ton tableau dans l'autre sens ?

ps: je suivrai le fil mais je pense ne pas pouvoir aider sur ce coup là

P.

Bonjour Etrof, Bonjour Patrick.

Je n'ai pas tout saisi à la demande.

Quand souhaites tu ajouter une colonne, que rajoutes-tu dedans ?

Quel est l'intérêt ?

patrick1957 a écrit :

Tu es certain de ne pas pouvoir mettre ton tableau dans l'autre sens ?

Je peux le mettre dans l'autre sens. Mais, je ne vois pas ce que cela va changer.

thebenoit59 a écrit :

Quand souhaites tu ajouter une colonne, que rajoutes-tu dedans ?

Je souhaite ajouter une colonne, quand la jème cellule de la ligne i est différente de jème cellule de la première ligne de mon tableau. Je souhaite ajouter la valeur de la jème cellule de la ligne i dans toutes les cellules de cette nouvelle colonne (en conservant les dimensions de mon tableau).

thebenoit59 a écrit :

Quel est l'intérêt ?

L'intérêt, c'est d'avoir un tableau de lignes identiques à la fin de l'exécution de mon programme tout en conservant les cellules dont le contenu n'existait pas dans la première ligne.

Rechercher des sujets similaires à "comparer ligne puis creer colonnes"