Répartition selon le nb de cellules vides

Bonjour à tous,

Confinés que nous sommes.

En ces temps de fou, j'ai une reddition de compte à faire pour laquelle je dois distribuer des montants et les répartir selon le nombre de cellule vide avant le prochain montant.

Ex. : J'ai joint un fichier.

Montant Formules

100 100

100

200 200

200

300 300

150

150

400 400

J'ai réussi avec une formule s'il y a deux lignes vides entre les montants… mais là je me rends compte que le fichier compte des espaces jusqu'à 100 lignes vides entres les montants.

Je m'en remets aux pros de la macros ou de la matricielle.

Si vous pouviez me donner un coup de main, je vous épargne la grosseur des fichiers d'origine

Merci à vous.

Bonjour,

si les fichiers sont très gros c'est peut-être mieux en vba :

Sub repartir()
    Dim datas, lig As Long, lig2 As Long, s As Double, nb As Long, j As Long
    datas = [B2].Resize(Cells(Rows.Count, 1).End(xlUp).Row - 1).Value
    For lig = 1 To UBound(datas)
        If datas(lig, 1) <> "" Then
            If s > 0 And nb > 0 Then
                s = s / nb
                For j = lig2 + 1 To lig2 + nb
                    datas(j, 1) = s
                Next j
            End If
            s = datas(lig, 1)
            nb = 0: lig2 = lig
        Else
            nb = nb + 1
        End If
    Next lig
    [C2].Resize(UBound(datas)) = datas
End Sub

eric

Bon matin eriiic.

Excellent quel beau boulot, c'est exactement ce dont j'avais besoin.

MERCI Ça fonctionne à merveille.

J'analyse le tout et j'aurai peut-être une question ou deux

J'ai des collègues qui vous remercie également… que d'heures vous venez de nous épargner.

Encore Merci.

Bonne journée.

Rechercher des sujets similaires à "repartition vides"