Attribuer une valeur à une cellule sans l'écrire

bonjour a vous,

je suis nouveau sur le forum et ne connait que trop peu les multitudes de fonctions d'excel.

j'aimerai que vous m'aidiez à rendre mon planning efficace.

je m'explique.

je cherche a ce qu'à la fin de chaque ligne, qui représente le planning journalier de l'agent, s'effectue automatiquement le calcul d'heure.

pour cela, j'aurai besoin d’attribuer une valeur de 0,25 ( 15 minutes ) à chaque cellule.

mes contraintes : les cellules sont colorées en fonctions du poste et contiennent du texte.

j'aimerai que l'on ne voit pas le 0,25 affiché dans la cellule mais le texte que j'y mettrais.

je vous ai mis mon fichier planning ci-joint.

Mille merci pour votre aide.

bonne soirée

Mathieu MNS

Bonjour,

mais tu veux compter quoi ?

Les cellules colorées ou uniquement celles colorées ET avec du texte ?

eric

Bonjour.

J'aimerai que chaque cellule valent 0.25.

Et que quand je les coloris ou fusionné elle additionne automatique.

Lorsqu'elle sont vide ou sans texte elle reste à 0.25 mais sans être additionner dans le.total.

Je sais pas si je suis assez précis.

En gros en bout de ligne je souhaiterais que additionne toutes les cellules qui sont coloriees ou qui ont du texte pour savoir le volume d'heures de la journées.

Merci

Je suis novice j'utilise peut être pas les bon termes

Bonjour,

avec une fonction personnalisée qui compte les cellules fusionnées (ou non) avec texte, de la 1ère ligne de la plage.

On pourrait ajouter avec couleur mais inutile ici, et ça ne fonctionnerait plus en cas de couleurs par MFC.

Function nbCellsFusionTexte(plage As Range, Optional texte As String = "*") As Long
    Dim pl, col As Long, nbcel As Long
    Set pl = plage.Rows(1)
    For col = pl.Column To pl.Column + pl.Columns.Count - 1
        nbcel = Cells(pl.Row, col).MergeArea.Columns.Count
        If Cells(pl.Row, col).MergeArea.Range("A1") Like texte And Cells(pl.Row, col).MergeArea.Range("A1") <> "" Then nbCellsFusionTexte = nbCellsFusionTexte + nbcel
        col = col + nbcel - 1
    Next col
End Function

Sur feuille :

=nbCellsFusionTexte(F10:BD10)/4

Peut aussi compter celles avec un texte précis :

=nbCellsFusionTexte(F10:BD10;"PR")/4

Attention, tient compte de la casse : PR <> Pr

eric

Merci eric,

cest cool.

du coup je dois coller la fonction en chaque bout de ligne?

mais comment faire pour que les cellules non fusionné, type que 15minutes de travail soit compter?

t'es au top.

merci

mathieu

mais comment faire pour que les cellules non fusionné, type que 15minutes de travail soit compter?

Avec ou sans texte ?

Si c'est les deux et bien ce sont les cellules colorées que tu veux alors d'embrouiller en parlant du texte...

Et comme les cellules blanches sont blanches (tu as mis cette couleur, elle ne sont pas sans couleur) elles seront comptées. Le résultat est donc toutes tes cellules.

Alors ???

Merci eric,

super cela fonctionne très bien mais c'est le texte qui prime.

est ce que j'ai un moyen que se soit la couleur qui prime?

merci a toi pour tout, milles fois.

Pas de soucis :

Function nbCellsFusionTexte(plage As Range) As Long
    Dim pl, col As Long, nbcel As Long
    Application.Volatile
    Set pl = plage.Rows(1)
    For col = pl.Column To pl.Column + pl.Columns.Count - 1
        nbcel = Cells(pl.Row, col).MergeArea.Columns.Count
        If Cells(pl.Row, col).MergeArea.Range("A1").Interior.ColorIndex <> xlNone Then nbCellsFusionTexte = nbCellsFusionTexte + nbcel
        col = col + nbcel - 1
    Next col
End Function

Les changements de couleurs ne sont pas détectables par excel. Il faut faire F9 pour rafraichir les résultats.

Et tu n'as pas l'air d'avoir percuté mais enlève le blanc de tes cellules...

Quand on enlève une couleur on met 'aucun remplissage', pas du blanc qui est une couleur comptée comme les autres.

eric

Rechercher des sujets similaires à "attribuer valeur ecrire"