J'ai besoin d'aide... J'ai un immense fichier Excel qui contient plus de 5000
lignes ainsi que de nombreuses colonnes. Je cherche une solution afin
d'automatiser le travail que je dois faire quotidiennement. En fait, je dois
répartir une série de lignes dans des onglets respectifs. Par exemple: les
lignes correspondants au client x doivent se retrouver dans l'onglet x et
ainsi de suite. Le nombre de lignes pour chaque client diffère d'une semaine
à l'autre. Quelle fonction utiliser afin qu'Excel repère les enregistrements
correspondant à chaque client et qu'il les transfère dans leur onglet
respectif? Est-ce que le tableau croisé dynamique peut être une solution?
Est-ce que je suis limité à un nombre restreint de colonnes avec le tableau
croisé dynamique? Merci beaucoup!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut à toi
Solution VBA avec ce code
Soit l'Onglet Feuil1 à traiter Les noms en colonne A et triés :
i = 1 Do While Sheets("Feuil1").Range("A" & i).Row < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row If Sheets("Feuil1").Range("A" & i) = Sheets("Feuil1").Range("A" & i + 1) Then n = n + 1 Else Onglet = Sheets("Feuil1").Range("A" & i) Sheets("Feuil1").Range("A" & i, "A" & i + n).EntireRow.Copy Sheets(Onglet).Range("A1") n = 0 End If i = i + 1 Loop
Celà devrait convenir Dis moi !!!
Salut à toi
Solution VBA avec ce code
Soit l'Onglet Feuil1 à traiter
Les noms en colonne A et triés :
i = 1
Do While Sheets("Feuil1").Range("A" & i).Row <
Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row
If Sheets("Feuil1").Range("A" & i) = Sheets("Feuil1").Range("A" & i + 1) Then
n = n + 1
Else
Onglet = Sheets("Feuil1").Range("A" & i)
Sheets("Feuil1").Range("A" & i, "A" & i + n).EntireRow.Copy
Sheets(Onglet).Range("A1")
n = 0
End If
i = i + 1
Loop
Soit l'Onglet Feuil1 à traiter Les noms en colonne A et triés :
i = 1 Do While Sheets("Feuil1").Range("A" & i).Row < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row If Sheets("Feuil1").Range("A" & i) = Sheets("Feuil1").Range("A" & i + 1) Then n = n + 1 Else Onglet = Sheets("Feuil1").Range("A" & i) Sheets("Feuil1").Range("A" & i, "A" & i + n).EntireRow.Copy Sheets(Onglet).Range("A1") n = 0 End If i = i + 1 Loop