bonjour
j'ai ecris un bout de code qui permet à partir d'une sélection de plage faite via ma souris sur ma feuille de calcul
d'effectuer un regroupement vers le haut toutes les données de chaque colonne de sorte que chacune d'entre elle ne contienne pas de données éparpillées sur des lignes .
j'essaie d'en faire une fonction mais ca coince quelque part : le voici
Function scompil(x As Range)
lig_debut = x.Row
lig_fin = x.Row + x.Rows.Count - 1
col_debut = x.Column
col_fin = x.Columns.Count + x.Column - 1
For c = col_debut To col_fin
'********************************************
For i = lig_debut To lig_fin
k = 0
If Cells(i, c) = "" Then
k = i
Do
k = k + 1
Loop Until Cells(k, c) <> "" Or k > lig_fin
Cells(i, c) = Cells(k, c)
Cells(k, c).ClearContents
End If
Next
'********************************************
Next
End Function
et la partie test :
Sub verif_compil()
scompil (selection) 'ici execution de la fontion mais ca ne marche pas , il doit manquer quelques choses dans l'intitulé de ma fonction mais je ne vois pas ce que cela peut etre , pourtant j'ai declaré "x" comme une range et "selection" est d'office une range donc je ne vois ou ca coince d'autant plus que le code s'execute sur la feuille active .
En vous remerciant pour vos lumières
Cordialement.
End Sub