Regroupement

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

Bonjour,

Essayez : scompil selection au lieu de scompil (selection) et, pour une fois prochaine, de fournir des éléments plus précis : ligne surlignée en jaune, message d'erreur ....

A+

honte à moi ca tenait a peu de chose ( des parenthèses mal placées )

en tout cas un grand merci AlgoPlus

Rechercher des sujets similaires à "regroupement"