Incrémentation d'un texte en fonction d'un chiffre associé

Bonjour,

Voici mes colonnes de départ :

Field codeEffectif à tester
MUR15
MUR210

Voici le résultat souhaité :

MUR1-1
MUR1-2
MUR1-3
MUR1-4
MUR1-5
MUR2-1
MUR2-2
MUR2-3
MUR2-4
MUR2-5
MUR2-6
MUR2-7
MUR2-8
MUR2-9
MUR2-10

J'ai deux variables Fieldcode et Effectif et j'aimerais en fait "incrémenter" le fieldcode autant de fois que l'effectif le demande.
J'ai commencé à regarder en VBA cependant mes cours sont un peu lointain...

Je déclare trois variables "Effectif" "Fieldcode" et Résultat qui serait ma variable de sortie pour avoir ma colonne finale mais ensuite comment faire comprendre que en fonction de mon "x" en effectif Résultat = "Fieldcode"&"-"&"1 à 5"

Bref si vous pouviez m'aiguiller sur ce que je dois utiliser pour formater ces foutus colonnes cela me ferait gagner un temps précieux !

En vous remerciant par avance pour votre aide,

Manu

En mettant MUR1, MUR2 etc. dans la colonne A et les effectifs correspondants dans la colonne B, tu peux utiliser ceci :

Sub Macro1()
'
' Macro1 Macro
'

' vider la colonne D pour repartir à zéro et lui donner un titre

Range("D:D").Value = ""

Range("D1").Value = "Result"

Range("A2").Select

Set Z = ActiveCell 'Référence à la cellule pour pouvoir y revenir facilement

Do Until IsEmpty(Z)

    fieldcode = ActiveCell.Value 'Savegarder le nom MUR1 etc. dans une variable

    ActiveCell.Offset(0, 1).Select

    effectif = ActiveCell.Value 'Savegarder l'effectif dans une variable

    ActiveCell.Offset(1, -1).Select

    Set Z = ActiveCell

        For i = 1 To effectif

        Range("D" & Rows.Count).End(xlUp).Offset(1).Select 'Première cellule vide dans la colonne D

        ActiveCell.Value = fieldcode & " -" & i

        Next

    Z.Select 'Revenir au FieldCode dans la colonne A

Loop

End Sub

Bonjour,

Une autre proposition.

Réalisée avec Power Query.

Cdlt.

5manu1436.xlsx (16.89 Ko)

Bonjour,

C'est parfait merci à vous deux !
Je vais pouvoir faire mes plans de plaque, 592 lignes traitées en 2 secondes

Bonne soirée

Re,

Je rectifie la proposition Power Query.

Cdlt.

3manu1436-1.xlsx (17.56 Ko)

Bonsoir le fil, bonsoir le forum,

J'avais commencé alors... Je finis :

Option Explicit

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim K As Integer 'déclare la variable K (incrément)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV (à adapter à ton cas)
O.Columns(4).ClearContents 'vide la colonne 4 (=> colonne D)
For I = 2 To UBound(TV, 1) 'boucle 1 : sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    For J = 1 To TV(I, 2) 'boucle 2 : de 1 à "l'effectif à tester" de la donnée ligne I colonne 2 de TV
        K = K + 1 'incrémente K
        ReDim Preserve TL(1 To K) 'redimensionne le tableau des lignes TL
        TL(K) = TV(I, 1) & "-" & J 'définit la donnée TL(K) (la donnée ligne I colonne 1, plus un tiret, plus J)
    Next J 'prochaine valeur de la boucle 2
Next I 'prochaine ligne de la boucle 1
If K > 0 Then O.Range("D1").Resize(K, 1).Value = Application.Transpose(TL) 'si K est supérieure à zéro, renvoie dans D1 redimensionnée de l'onglet O, le tableau TL transposé
End Sub
Rechercher des sujets similaires à "incrementation texte fonction chiffre associe"