Code qui saute une ligne sans le vouloir

Bonjour à tous,

La semaine passée, j'avais demandé sur ce forum si quelqu'un pouvait m'aider à créer un programme qui listerait les clients de mon excel sans les répéter 2 fois.

Un super programme m'avait été donné et celui-ci fonctionnait très bien.

Cependant, aujourd’hui, il ne fonctionne plus.

Il saute une ligne automatiquement et je ne sais pas pourquoi. Cela fausse la suite de mon programme...

Voici le bout de code qui fait cela :

Sub clients()

'Affichage des clients
Dim rng As Range, Dict As Object, Cell As Range
    'Initialisation des variables
    Set rng = ActiveSheet.Cells(60, 3).CurrentRegion
    Set Dict = CreateObject("Scripting.Dictionary")
    'Création liste unique des client
    For Each Cell In rng.Columns(8).Cells.Offset(1).Resize(rng.Rows.Count - 1)
        Dict(Cell.Value) = ""
    Next Cell
    'Restitution des données
    With Worksheets("Feuil1")
        .Cells(1).CurrentRegion.Offset(1).ClearContents
        .Cells(6, 3).Cells(1).Resize(Dict.Count, 1).Value = Application.Transpose(Dict.keys)
        .Activate
    End With

End Sub

Je vous joins un fichier exemple. Comme vous pouvez le voir, le client 14 est en dessous et a sauté une ligne.

Sur d'autres fichiers où j'utilise cette macro, parfois 2 lignes sont sautées, parfois 3, c'est aléatoire.

Merci d'avance pour votre précieuse aide,

Simon

8testclients.xlsx (15.53 Ko)

Bonjour Simon_Lbb,

Essaye comme ceci:

Sub clients()

'Affichage des clients
Dim rng As Range, Dict As Object, Cell As Range
    'Initialisation des variables
    Set rng = ActiveSheet.Cells(60, 3).CurrentRegion
    Set Dict = CreateObject("Scripting.Dictionary")
    'Création liste unique des client
    For Each Cell In rng.Columns(8).Cells.Offset(1).Resize(rng.Rows.Count - 1)
        If Cell <> "" Then Dict(Cell.Value) = ""
    Next Cell
    'Restitution des données
    With Worksheets("Feuil1")
        .Cells(1).CurrentRegion.Offset(1).ClearContents
        .Cells(6, 3).Cells(1).Resize(Dict.Count, 1).Value = Application.Transpose(Dict.keys)
        .Activate
    End With

End Sub

Bonjour Florian53,

C'est parfait merci beaucoup.

Simon

Rechercher des sujets similaires à "code qui saute ligne vouloir"