XL 2013 Transformation tableau en deux colonnes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kingfadhel

XLDnaute Impliqué
Bon après-midi aux Xlds,
Je viens vers vous une autre fois pour résoudre un problème,
J'ai un tableau qui contient des données de cartes numérotées déployées dans plusieurs régions et je souhaite pouvoir les transformer en deux colonnes.
Capture.PNG


Classeur joint.
Merci
 

Pièces jointes

Solution
Bonjour Kingfadhel, Fanfan,
Un essai en PJ avec :
VB:
Sub Compte()
    Dim T0, DL&, L&, i&: T0 = Timer
    [I:J].ClearContents: [I3] = "N° de carte": [J3] = "Région"
    Application.ScreenUpdating = False
    DL = [A1000000].End(xlUp).Row
    ReDim T(1 To Cells(DL, "C"), 1 To 2)
    For L = 4 To DL
        Premier = Cells(L, "B"): Dernier = Cells(L, "C"): Region = Cells(L, "A")
        For i = Premier To Dernier
            T(i, 1) = i: T(i, 2) = Region
        Next i
    Next L
    [I4].Resize(UBound(T, 1), UBound(T, 2)) = T
    [I1] = "Temps éxécution : " & Round(Timer - T0, 3) & " s"
End Sub
Bonjour Kingfadhel, Fanfan,
Un essai en PJ avec :
VB:
Sub Compte()
    Dim T0, DL&, L&, i&: T0 = Timer
    [I:J].ClearContents: [I3] = "N° de carte": [J3] = "Région"
    Application.ScreenUpdating = False
    DL = [A1000000].End(xlUp).Row
    ReDim T(1 To Cells(DL, "C"), 1 To 2)
    For L = 4 To DL
        Premier = Cells(L, "B"): Dernier = Cells(L, "C"): Region = Cells(L, "A")
        For i = Premier To Dernier
            T(i, 1) = i: T(i, 2) = Region
        Next i
    Next L
    [I4].Resize(UBound(T, 1), UBound(T, 2)) = T
    [I1] = "Temps éxécution : " & Round(Timer - T0, 3) & " s"
End Sub
 

Pièces jointes

Bonjour Kingfadhel, Fanfan,
Un essai en PJ avec :
VB:
Sub Compte()
    Dim T0, DL&, L&, i&: T0 = Timer
    [I:J].ClearContents: [I3] = "N° de carte": [J3] = "Région"
    Application.ScreenUpdating = False
    DL = [A1000000].End(xlUp).Row
    ReDim T(1 To Cells(DL, "C"), 1 To 2)
    For L = 4 To DL
        Premier = Cells(L, "B"): Dernier = Cells(L, "C"): Region = Cells(L, "A")
        For i = Premier To Dernier
            T(i, 1) = i: T(i, 2) = Region
        Next i
    Next L
    [I4].Resize(UBound(T, 1), UBound(T, 2)) = T
    [I1] = "Temps éxécution : " & Round(Timer - T0, 3) & " s"
End Sub
@sylvanu, c'est extraordinaire, génial.
SVP, commentez le code si possible.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
720
Retour