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 SubMon 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