Bonjour,
Je suis bloqué actuellement sur mon programme, j'ai commencé Excel il y a 3 jours.
J'essaye de ranger des colonnes en fonction de la valeur qu'elles ont en première ligne.
Mon code a pour but d'être automatisé pour différents fichiers, le nombre de colonnes, leur positions ... diffèrent pour chaque fichier.
J'ai donc réalisé le code suivant:
Public Sub test()
Dim UneColonne As Single
Dim MaPremiereColonne As Single
Dim MaDerniereColonne As Single
Dim Valtest As Single
MaPremiereColonne = 1
MaDerniereColonne = Feuil2.Cells(1, Columns.Count).End(xlToLeft).Column
Valtest = 1
While Valtest <> MaDerniereColonne
For UneColonne = MaPremiereColonne To MaDerniereColonne Step 1
If Feuil2.Cells(1, UneColonne).Value = Valtest Then
Range(Feuil2.Cells(1, UneColonne), Feuil2.Cells(19, UneColonne)).Cut
Range(Feuil2.Cells(20, Valtest)).Paste
Valtest = Valtest + 1
End If
Next UneColonne
Wend
End Sub
En le réalisant pas à pas, j'ai vu que l'algorithme en lui même fonctionne bien à première vue, néanmoins mon erreur vient du couper coller. Je sélectionne les 19 premières lignes de la colonne qui réalise la condition et les coupent vers une nouvelle colonne qui a pour paramètre Valtest (qui les rangera dans l'ordre croissant) à partir de la 20eme ligne.
Merci de votre aide