Boucle pour incrémenter des valeurs contenues dans 1 cellule

Bonjour tous le monde!

Je viens demander de l’aide car je souhaite faire une macro pour créer des faux doublons.

Je m’explique : Dans mon fichier j’ai 3 colonnes dont une série de donnée qui se retrouve dans la 3eme (séparées pas des espaces et des tirets).

La 3eme colonne comporte alors un nombre aléatoire de valeurs. La première en contient 3, la suivante 2… et cela peut aller jusqu’à 150.

Voici cous quelle forme sont mes données à l’origine :

Martine Duboi 12 - 2564 - 4555

Paul Le Hen 1 - 15

Jacques Maret 1 - 5 - 10 - 18 - 20 - 15 - 20

Lucie Le Toux 5

Je souhaiterai obtenir la liste sous la forme suivante grâce à une macro (toujours sur 3 colonnes) :

Martine Duboi 12

Martine Duboi 2564

Martine Duboi 4555

Paul Le Hen 1

Paul Le Hen 15

Ect…

J'ai tout d'abord fais une macro pour séparer les données de la 3e colonnes et qu'elles correspondent toute à une cellule.

Mais je n'arrive pas à trouver la solution pour incrémenter mes données des deux premières colonnes puis 1 fois l'une des valeurs tour à tour.

J’ai testé plusieurs boucles mais étant donné que la plage de cellule qui contient des chiffres est très importante, une erreur s’affiche « mémoire insuffisante »… j'ai bien essayé avec End(xlUp) mais sans sucés. Je m'y prend peut-être mal et qu'il est possible de le faire sans décomposer la dernière colonne?

Je suis perdue ! Pouvez-vous m’aider ?

Merci d’avance pour vos réponses!

Salut Breizhounette,

comprends pas ton histoire des 3 colonnes...

Où faut-il décomposer tes données et sur combien de colonnes?

1

Sois précise, stp! Une illustration du résultat souhaité serait bienvenue!

A+

Voila mon fichier dans l'onglet Calc la base donnée d'origine et dans calcbis, là où j'en suis. Dans résultat c'est ce que j'espère réussir à faire un jour!l lol

Je veux en faite que le résultat soit dans 3 colonnes au final. Car dans l'onglet CALCBIS il a un beaucoup trop de cellule qui suivent les 2 premières colonnes.

9listing.xlsm (37.21 Ko)

Bonsoir,

Curulis n'étant pas encore revenu... (Salut !) voici en partant de l'état initial car c'est plus simple et plus rapide.

Sub Reclasser()
    Dim T, n%, r%, i%, j%, fC As Worksheet
    Set fC = Worksheets("Résultat"): j = 2
    With Worksheets("CALC")
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 2 To n
            T = Split(.Cells(i, 3), "-"): r = UBound(T) + 1
            fC.Cells(j, 1).Resize(r).Value = .Cells(i, 1)
            fC.Cells(j, 2).Resize(r).Value = .Cells(i, 2)
            fC.Cells(j, 3).Resize(r).Value = WorksheetFunction.Transpose(T)
            j = j + r
        Next i
    End With
    fC.Activate
End Sub

Pour tester, cliquer sur le bouton.

Cordialement.


désolé, j'ai écorché ton pseudo... Tu perds (momentanément) la Bretagne, mais pas tout ! breish c'est sorcier en occitan...

Merci ! C'est super! Ça va illuminer ma journée !! Ça fonctionne au top!

C'est pas grave pour le pseudo! Si un jour je devient une magicienne en vba ça sera peut-être grâce à toi ! Merci encore!

Rechercher des sujets similaires à "boucle incrementer valeurs contenues"