Petite modification d'une macro VBA

Bonjour à tous, talentueux dompteurs de célules et macros excel.

Je viens humblement à vous car dans le cadre de mon travail, j'ai souvent à faire de la fusion de données avec des listes excel. Indesign étant assez pointilleux (pour pas dire casse-co******) sur son fonctionnement avec les données sources, je me heurte à un petit problème pour l'un de mes projets.

En effet, je souhaiterai scinder une liste de dates qui se suivent en 7 colonnes (pour les 7 jours de la semaine CQFD )

En fouillant un peu sur l'internet, je suis tombé sur une macro géniale qui fonctionne du tonnerre dont je vous livre le petit code ci-dessous:

Sub SplitIntoCellsPerColumn()
'updateby Extendoffice
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xCell As Range
    Dim xTxt As String
    Dim xOutArr As Variant
    Dim I As Long, K As Long
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
Sel:
    Set xRg = Nothing
    Set xRg = Application.InputBox("please select data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "does not support multiple selections, please select again", vbInformation, "Kutools for Excel"
        GoTo Sel
    End If
    If xRg.Columns.Count > 1 Then
        MsgBox "does not support multiple columns,please select again", vbInformation, "Kutools for Excel"
        GoTo Sel
    End If
    Set xOutRg = Application.InputBox("please select a cell to put the result:", "Kutools for Excel", , , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    I = Application.InputBox("the number of cell per column:", "Kutools for Excel", , , , , , 1)
    If I < 1 Then
        MsgBox "incorrect enter", vbInformation, "Kutools for Excel"
        Exit Sub
    End If
    ReDim xOutArr(1 To I, 1 To Int(xRg.Rows.Count / I) + 1)
    For K = 0 To xRg.Rows.Count - 1
      xOutArr(1 + (K Mod I), 1 + Int(K / I)) = xRg.Cells(K + 1)
    Next
    xOutRg.Range("A1").Resize(I, UBound(xOutArr, 2)) = xOutArr
End Sub

Mon soucis c'est que plutôt que de donner un nombre de lignes voulu pour générer le nombre de colonnes correspondante, je souhaiterai faire l'inverse: donner le nombre de colonnes voulues pour générer les lignes correspondantes et que chaque colonnes soient égales en nombre de lignes (sauf quand ça tombe pas pile, on s'est compris )

Croyant pouvoir m'y frotter, j'ai très vite déjanté... je pige vraiment rien au VBA

J'ai supposé que la chose devait se passer entre le "ReDim xOutArr..." et le "....xOutArr" mais mes compétences s'arrêtent là

Y aurait-il, je vous en supplie, une bonne âme pour venir en aide à un pauvre ignorant païen ?

Bonne soirée à tous

Bonjour Adramm

Je n'ai fais que retoucher la macro, elle demande le nombre de colonnes et ecrit horizontalement le nombre voulu puis change de ligne

Cdt

Toukoul, tu es mon sauveur, ça marche nickel !!!!!

You are the best, merci infiniment

Tu peux pas savoir à quel point ce petit bout de code va me changer la vie

Encore merci

Rechercher des sujets similaires à "petite modification macro vba"