Fonction personnalisée

Bonjour à tous.

J'ai une plage de cellules contenant des commentaires.

Tous les commentaires sont construits de cette façon:

"Cellule modifiée par ... Le ..."

Je souhaiterai trouver par une formule le nombre de commentaires contenant le nom à chercher ainsi que la date.

On obtiendrait comme nouvelle fonction quelque chose de ce genre:

=COM.SI(A1:A50;E1;E4)

=COM.SI(plage de recherche; valeur 1; valeur 2)

Le fichier joint devrait vous aider à comprendre j'espère.

Merci à tous.

Bonjour pass-pass,

Un code à tester :

Dim cpt As Long
Sub COMSI_sub(plage, val1 As Range, val2 As Range)
    Dim cel As Range
    cpt = 0
    For Each cel In plage
        If Not cel.Comment Is Nothing Then
            If cel.Comment.Text Like "*" & CStr(val1) & "*" And _
               cel.Comment.Text Like "*" & CStr(val2) & "*" Then
                cpt = cpt + 1
            End If
        End If
    Next cel
End Sub

Function COMSI(plage, val1 As Range, val2 As Range)
    Application.Volatile
    Call COMSI_sub(plage, val1, val2)
    COMSI = cpt
End Function

Bonjour VBA-new

Ca marche à merveille.

Je n'ai pas bien compris, mais je vais tenter de décrypter tout ça.

Merci beaucoup!

Re,

On regarde si dans le texte du commentaire on retrouve les valeurs à chercher.

Ex avec P1 et 01/07/2011 :

On regarde si on trouve *P1* dans le commentaire. Si oui, on retourne VRAI.

On regarde aussi si on trouve *01/07/2011*. Si oui, on retourne VRAI.

Si on a 2 VRAI, on incrémente un compteur.

Une petite remarque : si dans le commentaire on a une chaîne du genre hjklsP1hjfkg, le premier test retournera vrai...

Re

Je comprends le code en soit... ou plutôt les termes. C'est la construction de la formule en elle même que j'ai du mal à intégrer. la déclaration des variables, à quel moment il faut les attribuer etc...

Bref. Je n'ai pas encore regarder le code en profondeur car je rentre tout juste du travail et j'en ai déjà plein la tête.

Je vais voir ça un peu plus tard.

Merci beaucoup

Rechercher des sujets similaires à "fonction personnalisee"