Suivre ses comptes

Est-il possible de prendre en compte dans une formule, une cellule barrée ? Ceci afin de mettre à jour les comptes au fur et à mesure que les sommes inscrites sont effectivement tirées.

Bonjour @Magolfy,

Qu’entends-tu par cellule barrée ?
Et aurais-tu un petit bout de fichier à joindre à ta question quitte a mettre des données bidons.

@+

Cordialement.

Ier contact avec le forum

Quelle rapidité de réaction !!!

Voici un exemple de tableau théorique de comptes

Cela éclaire-t-il ma question ?

Merci d’avance de ta réponse

Exemple.xlsx (10.9 KB)

Re @Magolfy,

Voici une proposition:

Utiliser le style Barré comme ceci:

Puis appuyer sur le bouton jaune que j’ai mis dans la cellule “A1”, cela calcule les cellules non barrées dans la plage de cellules de “B25 à M25”.

Voici le code VBA:

Function SommeNonBarré(Plage As Range)

    Dim c As Range
    Application.Volatile
    For Each c In Plage
        If IsNumeric(c) And c.Font.Strikethrough = False Then
            SommeNonBarré = SommeNonBarré + c.Value
        End If
    Next c
   
End Function

Sub Calculer()

    Range("B25:M25").Select
    Calculate
    Range("A1").Select
    
End Sub

Pour utiliser la fonction personnalisée écrire dans les cellules concernées comme ceci.

=SommeNonBarré(B10:B20)

Ci-joint ton fichier ICI==> Magolfy V1.xlsm (17,9 Ko)

Cordialement.

Fabuleux !

Moins rapide que de barrer la cellule … Mais j’utiliserai le pinceau

MILLE MERCIS !!!

Curieux : Si j’utilise le pinceau pour « barrer » une cellule à partir d’une cellule que j’ai barrée en allant dans « format ; texte etc …) : ça fonctionne les comptes se modifient

Si je place l’icône « caractère barré » dans ma barre d’accès rapide … ça ne fonctionne pas . Donc, retour au pinceau.

Encore tous mes remerciements

Re @Magolfy,

Nouvelle proposition pour barrer ou enlever barrer avec le bouton que j’ai ajouté en “O1”.

Il faut se placer sur une cellule contenant une valeur, puis appuyer sur le bouton Barrer si la cellule n’est pas barrée alors elle le sera, si elle est déjà barrée, alors “débarrer”.

Ci-joint ton fichier ICI==> Magolfy V2.xlsm (19,7 Ko)

Cordialement.

Quelle fabuleuse persévérance !

Bizarre : Si j’utilise ta case « barré » j’obtiens la même chose que si j’utilise l’icône de ma barre d’outils rapide : Ca barre mais ça ne fonctionne pas-les comptes ne changent pas

Il n’y a que si j’utilise le pinceau en partant de cellules que tu as toi-même barrées que ça fonctionne

D’autre part j’ai voulu « exporter » ta formule dans mes vrais comptes …. J’obtiens ce message d’erreur #NOM ?

Pensant que j’avais raté quelque chose j’ai « copier-coller » … même ratage

???

Re @Magolfy,

As-tu copiée les codes VBA dans les modules.
Pour voir les codes il faut faire alt + F11 dans le fichier que je t’ais fournie.
Normalement tu dois voir ceci.

Il faut aussi associer les 2 boutons que j’ai mis à hauteur de “A1 & O1”.
Pour copier les boutons il faut maintenir la touche ctrl enfoncée et cliquer sur le ou les 2 boutons, puis faire copier et les coller ou tu veux dans un autre fichier.

La formule ne fonctionnera pas si tu ne copie pas les codes VBA et donc c’est normal que la cellule indique #NOM ?

Si tu n’y arrive pas, il faudra alors me fournir ton vrai fichier quitte a mettre des données bidons.

T’inquiète pas je travailles sur des tas de fichiers divers et variés, sans même regarder ce qu’il y a dessus, ce sont les solutions par formules où VBA qui m’intéressent de trouver.

Si ne veux pas joindre ton fichier sur le forum, tu peux aussi me joindre par message privé en cliquant sur ton icône.

@+

Ah ah ah ah !!!

Tu comprends pourquoi je fais appel à toi !!!

Je vais m’y mettre ce soir ou demain matin

Bonne soirée

Merci

Bonjour @Magolfy,

J’ai une nouvelle version à te proposer.

Tu fais un double clique sur la cellule concernée et la cellule passe en rouge barrée + diagonale et cela déduit la somme dans la ligne 25 de la colonne concernée.

Tu fais un simple clique sur la cellule concernée et la cellule repasse en noire non barrée sans diagonale et cela ajoute la somme dans la ligne 25 de la colonne concernée.

Pour cela tu dois copier les codes VBA comme ceci.

Faire alt + F11 et copier le code ci-dessous dans un module.

Function SommeNonBarré(Plage As Range)

    Dim c As Range
    Application.Volatile
    For Each c In Plage
        If IsNumeric(c) And c.Font.Strikethrough = False Then
            SommeNonBarré = SommeNonBarré + c.Value
        End If
    Next c
   
End Function

Faire alt + F11 et copier le code ci-dessous dans la Feuil1.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Worksheets("Feuil1").Activate
ActiveCell.Font.Strikethrough = True
Application.ScreenUpdating = False
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    With Selection.Borders(xlDiagonalUp)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlThin
    End With
Range("A25:M25").Select
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With
Range("A25").Select
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    End With

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Worksheets("Feuil1").Activate
ActiveCell.Font.Strikethrough = False
    With Selection.Font
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
    End With
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    
    Calculate
    
End Sub

Pour utiliser la fonction personnalisée écrire dans les cellules concernées comme ceci.

=SommeNonBarré(Plage de cellules)

Voici la nouvelle version ICI==> Magolfy V3.xlsm (22,6 Ko)

Cordialement.

Je viens de voir ton mail ; je suis à l’extérieur jusqu’à ce soir …

J’espère être capable d’appliquer tes conseils

Une fois encore … MERCI

Bonjour @Magolfy
Si la solution te convient n’oublie pas de marquer le message qui contient la solution avec le petit :white_check_mark: en dessous du message stp!

1 « J'aime »