Compter nombre de retour chariot sur plusieurs cellules

Re,

J'ai repris le tableau sur mon PC perso, sur Excel 2010, et en essayant de reprendre le tableau comme je l'ai modifié, j'ai l'impression que c'est le bouton ou le code qui est limité dans son utilisation. Par exemple que je ne peux pas remettre tout le monde à 0. Ou les résultats s'affichent selon les moments...

Pour t'expliquer, le tableau sera rempli un petit peu chaque jour (à raison de 3 commandes par jour environ). Quand nous l'avons rempli, nous avons remarqué que les personnes après olivier ne se comptaient plus... Et la je remarque que si je supprime tout, personne ne se remet à 0 et quand je rempli une cellule par ci par là, ça ne se met pas forcément à jour...

J'espère que j'ai été clair dans ton explication, car je ne vois pas comment te le montrer réellement sur le tableau

Merci !

Bonjour,

Je te renvoie le code précédent commenté (suffisamment?) avec une remise à zéro de la colonne H en début de procédure.

Sans fichier représentatif, je ne peux rien faire de plus.

Cdlt.

Private Sub CommandButton1_Click()
' declaration des variables
Dim ws As Worksheet
Dim tbl As Variant
Dim lastRow As Long, lastCol As Long
Dim I As Long, J As Long
Dim dblCounter As Double

    ' optimisation procedure
    Application.ScreenUpdating = False
    ' initialisation feuille
    Set ws = ActiveSheet

    With ws
        ' derniere ligne non vide colonne 3 (C)
        lastRow = .Cells(Rows.Count, "C").End(xlUp).Row
        ' derniere colonne non vide ligne 1
        lastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
        ' RAZ colonne 8 (H)
        .Cells(2, "H").Resize(lastRow - 1).ClearContents
        For I = 2 To lastRow
            dblCounter = 0
            For J = 3 To lastCol
                If Not IsEmpty(Cells(I, J)) Then
                    ' la fonction Split renvoie un tableau contenant un nombre specifie de sous-chaines
                    ' le separateur des sous-chaines est le retour chariot [chr(10)]
                    tbl = Split(Cells(I, J).Value, Chr(10))
                    ' UBound(tbl) correspond au nombre de retours chariot [chr(10)]
                    dblCounter = 1 + dblCounter + UBound(tbl)
                End If
            Next J
            .Cells(I, 8) = dblCounter
        Next I
    End With

    Set ws = Nothing

End Sub
Rechercher des sujets similaires à "compter nombre retour chariot"