Addition des cellules colorées uniquement

0

Bonjour,

J'aimerais savoir si Excel peut calculer seulement les nombres d'un tableau dont les cellules sont colorées?  Autrement dit, j'ai un tableau avec plusieurs chiffre et la cellule Total va additionner seulement les cellules dont j'aurai mis en couleur.

Merci!   

    Posté le 12 août 2023, 14:14
    par Joc62
    Répondre
    0

    Bonjour Joc62,

    pour ce que tu demandes, ce n'est pas possible de le faire par formule ;
    il faut faire un code VBA (macro) ; j'essayerai de t'aider si tu envoies
    ton fichier Excel ; précise aussi quelle est la couleur des cellules à
    additionner ; exemple : le bleu de la cellule D5.

    ou tu peux indiquer précisément la couleur par une de ces 3 façons :
    * si c'est un n° d'index dans la palette de couleurs, donner ce n° d'index
    * donner le code couleur (= un entier long, en décimal ou en hexa)
    * donner les 3 composantes RGB de la couleur (➯ 3 octets)

    veux-tu additionner des cellules pour plusieurs couleurs ? exemple :
    total 1 pour les cellules bleues ; total 2 pour les cellules oranges ;
    total 3 pour les cellules vertes ; total 4 pour les cellules jaunes.

    dans quelle(s) cellule(s) il faut mettre le(s) résultat(s) ?

    rhodo

    rhodo Posté le 12 août 2023, 14:45
    par rhodo
    0

    Bonjour rhodo,

    Voir le tableau ci-joint avec l'information.

    Merci,


    https://www.cjoint.com/c/MHokB0Eo72h


    Posté le 14 août 2023, 12:30
    0

    Bonjour,

    Peut-être un truc comme ça?

    Voir ICI

    Cordialement

    Posté le 14 août 2023, 17:07
    • Bonjour, j'ai regardé ta solution ; ta fonction avec « Volatile » est pas mal, mais : a) regarde cette copie d'écran : https://www.cjoint.com/c/MHoqKugxJB0 ; j'ai mis F17 en rose, mais bizarrement, malgré « Volatile » c'est resté 880,00 $ en D26, puis c'est seulement quand je clique sur une autre cellule à côté que D26 se met à jour : 1 000,00 $ ; b) Joc62 a dit que la couleur n'avait pas d'importance, donc il peut éventuellement choisir plusieurs couleurs différentes pour les dépôts et/ou plusieurs couleurs différentes pour les dépenses ; c'est pourquoi ma macro fait un total pour toutes les cellules dont le code couleur est autre que celui du blanc (donc différent de 16777215) ; en D25, ta fonction fait un total pour toutes les cellules dont le fond est le même jaune que celui de B25 (une seule couleur) ; en D26, ta fonction fait un total pour toutes les cellules dont le fond est le même rose que celui de B26 (une seule couleur) ; c) la plage de cellules est la même pour l'appel en D25 et l'appel en D26 : C3:G18 ; donc si on met en rose le 600,00 $ de F4, il sera ajouté dans les Retraits alors que c'est un dépôt ; inversement, si on met en jaune le 500,00 $ de F8, il sera ajouté dans les Dépôts alors que c'est une dépense ; avec ma macro, ça mettra les bons résultats en D25 et D26 même si on utilise la même couleur pour les dépôts et les dépenses.  :)  J'ai répondu à Joc62 avec beaucoup de retard car j'ai regardé plusieurs choses (pas seulement la couleur) ; et aussi, ça m'a pris beaucoup de temps pour écrire toutes les infos de mon très long post de 18:08 (en choisissant très soigneusement les mots adéquats) ; c'est aussi pour cette raison que tu as pu répondre avant moi.  ;) – rhodo 14 août 2023, 18:56
    0

    Bonjour Joc62,

    ton fichier en retour : https://www.cjoint.com/c/MHomQLXUNg0

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    * en B25, tu as écrit « Dépôts » correctement ; mais pas en B4 et B5 :
    il manque l'accent circonflexe du « o » et il manque le « t » ➯ en B4,
    j'ai remplacé « Dépos A » par « Dépôts A » ; et en B5, j'ai remplacé
    « Dépos B » par « Dépôts B ».

    * en A21, tu as écrit « BALLANCE » ; il y a un « L » de trop ; aussi,
    j'ai corrigé en mettant « BALANCE » (avec un seul « L »).

    ce n'est pas pour te faire une leçon d'orthographe, c'est juste pour
    que ta feuille de calcul soit sans fautes d'orthographe.  :)  (ça sera
    plus présentable pour ceux à qui tu montres ton classeur, que ce
    soit un prof, un collègue de travail, ou ton patron)

    (alors pense à corriger ces fautes dans ton classeur réel)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    c'est bizarre : d'un côté c'est écrit en français ; de l'autre côté les
    montants sont en dollars « $ » et pas en euros « » ; mébon,
    j'suppose que pour toi c'est normal, alors j'ai laissé tel quel.

    mais éventuellement, fais ce qu'il faut pour remplacer les « $ »
    par « ».

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ça aussi c'est bizarre : j'ai vu que tu sais utiliser la fonction SOMME()
    puisqu'en C7, tu as mis la formule : =SOMME(C3:G6) ; alors en C20,
    pourquoi tu as mis « =C19+D19+E19+F19+G19 » ? je l'ai bien sûr
    remplacé par : « =SOMME(C19:G19) ».

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    j'ai supprimé tes 2 formules de D25 et D26 puisque c'est la macro qui
    va faire le travail voulu ➯ D25 et D26 sont vides ; fais Ctrl e ; c'est fait :
    tu as « 1 600,00 $ » en D25 et « 880,00 $ » en D26.  :)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    comme tu as écrit dans ton classeur : « (la couleur n'a pas vraiment
    d'importance) »
    , alors au lieu d'additionner les cellules jaunes (pour les
    dépôts)
    et les cellules roses (pour les dépenses), la macro additionne
    toutes les cellules pour lesquelles la couleur de remplissage est autre
    que le blanc (couleur de remplissage = couleur du fond de la cellule).

    ➯ tu peux utiliser plusieurs couleurs en même temps pour les dépôts
    et/ou plusieurs couleurs en même temps pour les dépenses ; exemple :
    mettre en vert les dépôts faits en espèces ; en bleu les dépôts faits par
    chèques ; en violet les dépôts faits par virements bancaires ; en jaune
    les dépenses EDF ; en rouge les dépenses de loyer ; en orange toutes
    les autres dépenses.

    à l'inverse, ça marche aussi si tu utilises une seule couleur pour tout ;
    même si c'est la même couleur pour les dépôts et les dépenses.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    comme pour cet exo la couleur n'a pas d'importance, remplacer le jaune
    par du orange (par exemple) ne modifie pas les résultats de D25 et D26
    (c'est normal : la cellule est encore colorée).

    ATTENTION : c'est PAS automatique et ça ne peut PAS l'être ➯ APRÈS
    avoir ENLEVÉ une couleur de fond existante ou APRÈS avoir MIS une
    couleur de fond quand y'en n'avait pas, tu dois refaire Ctrl e ; SURTOUT,
    NE L'OUBLIE PAS, sinon les totaux de D25 et/ou D26 seront erronés.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    note : pour le mot-clé VBA .Color, une cellule pour laquelle on a choisi
    « Aucune couleur » d'arrière-plan fait que le code couleur du fond est
    le code du blanc : 16777215 ➯ c'est comme si tu avais choisi le blanc
    comme couleur de fond ; juste pour info : pour .ColorIndex (non utilisé
    dans la macro)
    y'a une différence entre les deux : blanc = n° d'index 2 ;
    Aucune couleur = n° d'index -4142 (valeur de la constante xlNone).

    ----------------------------------------------------------------------------------------------------------

    code VBA de Module1 (16 lignes) :

    Option Explicit

    'TCC = Total des Cellules Colorées, peu importe
    'la couleur de remplissage (= couleur du fond)

    Private Function TCC(plg As Range) As Currency
      Dim cel As Range
      For Each cel In plg
        If cel.Interior.Color <> 16777215 Then TCC = TCC + cel
      Next cel
    End Function

    Sub GetTCC()
      [D25] = TCC([C3:G6]): [D26] = TCC([C8:G18])
    End Sub

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    remarques : 16777215 est le code couleur du blanc ; la sub GetTCC()
    fait un 1er appel à la fonction TCC()  pour la plage des dépôts C3:G6 ;
    puis y'a un 2ème appel à TCC() pour la plage des dépenses C8:G18.

    ----------------------------------------------------------------------------------------------------------

    si besoin, tu peux demander plus d'infos et/ou une adaptation
    du code VBA ; à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 14 août 2023, 18:08
    par rhodo
    0

    Bonjour rhodo,

    Merci pour ta réponse.  Désolé pour les fautes, j'ai fait rapidement une copie simplifiée et modifiée d'un fichier beaucoup plus volumineux pour ne montrer que l'essentiel de ma demande.  Visiblement, j'ai fais ça trop rapidement :) 

    C'est écrit en français et les montants sont en $ pour la simple et bonne raison que je suis du Québec :) donc francophone avec les $ Canadien.

    Mon but était d'appliquer les formules au tableau existant qui est plus gros et détaillé mais les fonctions de macro me sont totalement inconnues, alors j'ai peur que se soit un peu trop long à assimiler et appliquer.

    Merci tout de même pour ton aide.

    Posté le 15 août 2023, 00:02
    0

    Bonjour Joc62 du Québec,  ;)

    merci pour toutes tes infos, dont le $ Canadien.  :)

    tu as écrit : « mais les fonctions de macro me sont totalement inconnues,
    alors j'ai peur que se soit un peu trop long à assimiler et appliquer ».

    bon, alors à tout hasard, je vais quand même te faire un tutoriel, afin que
    tu puisses appliquer ma solution à ton fichier réel ; avantage :

    tu pourras mieux savourer ton sirop d'érable.  :D  mais fais quand même
    attention aux ours : vu qu'ils aiment le miel, j'suis sûr qu'ils aiment aussi
    ton sirop d'érable ! ils pourraient venir pour essayer de te le chiper !

    (oui, si l'ours est un geek, tu peux lui prêter ton PC ; il pourra montrer
    aux caribous comment il utilise Excel et VBA)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    il y a 5 étapes ; quand tu en auras l'habitude, le tout est très facile
    et rapide à faire ; ça sera pour toi comme pour les pros.  ;)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    étape 1 : l'extension du nom de ton fichier réel est .xlsx ; les fichiers .xlsx ne
    peuvent pas contenir de code VBA ; donc ils ne peuvent pas contenir de macros ;
    c'est pourquoi il faut d'abord le convertir en fichier .xlsm (m est pour macros) ;
    voici comment le faire :

    ouvre ton fichier .xlsx ; appuie sur la touche F12 ➯ fenêtre "Enregistrer sous" ;
    en bas, sous « Nom de fichier : », il y a « Type : » ; dans la liste, sélectionne
    « Classeur Excel (prenant en charge les macros) » ; clique sur le bouton
    « Enregistrer » ; ça y'est, c'est ça qui a converti ton fichier en .xlsm ; tu vois,
    c'est tout simple(pour info, le fichier .xlsx est toujours sur ton disque dur ;
    plus tard, tu pourras le supprimer pour garder uniquement le fichier .xlsm)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    étape 2 : fais Alt F11 ➯ fenêtre "Microsoft Visual Basic" ; fais Alt i m ➯ ça insère
    un nouveau module (appelé Module1) ; à droite, ça a affiché la page blanche de
    Module1 ; c'est qu'on écrit le code VBA ; mais toi, tu as juste à y coller (par un
    copier / coller)
    ce texte de 16 lignes de mon code VBA :

    Option Explicit

    'TCC = Total des Cellules Colorées, peu importe
    'la couleur de remplissage (= couleur du fond)

    Private Function TCC(plg As Range) As Currency
      Dim cel As Range
      For Each cel In plg
        If cel.Interior.Color <> 16777215 Then TCC = TCC + cel
      Next cel
    End Function

    Sub GetTCC()
      [D25] = TCC([C3:G6]): [D26] = TCC([C8:G18])
    End Sub

    je pense que tu sais faire un copier / coller.  ;)  donc pas besoin d'expliquer ça ;
    tu vois, là aussi, c'est tout simple.  ;)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    étape 3 : si dans ton fichier réel les données sont aux mêmes emplacements,
    alors dans cette étape, c'est encore plus simple : tu n'as rien du tout à faire :
    tu peux passer directement à l'étape 4.

    si dans ton fichier réel les données sont à d'autres emplacements, alors il faut
    modifier cette avant-dernière ligne du code VBA :

    [D25] = TCC([C3:G6]): [D26] = TCC([C8:G18])

    et uniquement ce qui va être indiqué en gras.

    a) par exemple : si la cellule pour le total des dépôts est G50 et si la cellule
    pour le total des retraits est G51 (au lieu de D25 et D26), alors met :

    [G50] = TCC([C3:G6]): [G51] = TCC([C8:G18])

    b) par exemple : si la plage de cellules pour tous les dépôts est F8:J17 et
    si la plage de cellules pour tous les retraits est F19:J40, alors met :

    [D25] = TCC([F8:J17]): [D26] = TCC([F19:J40])

    mais comme dans ce cas les totaux seront plus bas, il faut par exemple :

    [D47] = TCC([F8:J17]): [D48] = TCC([F19:J40])

    ATTENTION :

    SI par exemple dans un mois tu vas modifier la structure de ta feuille de calcul
    (en y ajoutant des lignes ou des colonnes, ou en supprimant des lignes ou des
    colonnes), y'aura PAS d'adaptation AUTOMATIQUE du code VBA ; tu devras
    DE NOUVEAU MODIFIER cette avant-dernière ligne de code VBA, comme
    tu viens de le faire, pour adapter les coordonnées de cellules et plages.

    (mais en principe, et à priori, la structure de ta feuille de calcul est déjà ok
    et définitive : tu n'auras plus besoin de changer la structure ni le code)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    étape 4 : fais de nouveau Alt F11 ➯ ça retourne sur la fenêtre d'Excel ; fais Ctrl s
    pour sauvegarder ton fichier : ça enregistre ton classeur Excel, dont le code VBA
    que tu as copié / collé (et que tu as peut-être modifié selon mes indications)
    .

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    normalement, ça devrait être fini, mais il faut aussi mettre le raccourci clavier
    qui avait été utilisé pour lancer la macro GetTCC ; je parle du Ctrl e.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    étape 5 : fais Alt F8 ➯ fenêtre "Macro" ; c'est pour afficher la liste des macros,
    mais dans ce fichier, il y a une seule macro : GetTCC ; cette macro est déjà
    sélectionnée
    (ligne sur fond bleu)
    ; à droite, clique sur le bouton « Options... »
    ➯ fenêtre "Options de macro" ; c'est  : dans la petite case blanche, met
    la lettre que tu veux utiliser pour le raccourci clavier ; donc ici e ; tu auras :

    « Nom de la macro : GetTCC » et « Touche de raccourci : Ctrl+ e »

    en bas, clique sur le bouton "OK" ➯ ça retourne à la fenêtre "Macro" ; tu peux
    cliquer à droite sur le bouton "Exécuter" OU : tu peux fermer la fenêtre (clic
    sur la croix de fermeture du coin haut droit)
     puis faire Ctrl e.

    attention : même si tu n'exécutes pas la macro, fais Ctrl s pour sauvegarder
    le fichier (dont le raccourci clavier e que tu viens de mettre)
    .

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    voilà, le tutoriel est terminé ; tu peux demander à l'ours de faire Ctrl e.  :D

    n'oublie pas que la mise à jour des totaux n'est pas automatique ; alors
    dis à l'ours qu'il doit faire Ctrl e après avoir changé les couleurs de fond.

    au cas où tu n'auras pas eu le temps ou l'envie de suivre mon tutoriel,
    tant pis ; ça servira quand même pour les autres lecteurs de ce post.

    rhodo

    rhodo Posté le 15 août 2023, 06:35
    par rhodo
    0

    Bonjour rhodo,

    Avec l'aide de l'ours et en suivant tes étapes bien détaillées et expliquées, j'ai réussi à appliquer la macro et sa fonctionne, merveilleux :)  MERCI!

    Questions: 

    1) Comment indiquer dans l'avant-dernière ligne du code VBA si j'ai plusieurs plage à mettre dans le total de la cellule B26 par exemple?

    2) J'ai essayé de copier le tableau du mois d'août pour en créer un nouveau (septembre) juste à droite et la macro ne suit pas, ça veut dire que je la modifier à chaque mois?

    Posté le 15 août 2023, 12:36
    0

    @Joc62

    je m'étais absenté longtemps, et j'viens d'reprendre sur mon PC ; c'est pourquoi j'ai beaucoup
    tardé à te répondre.  ;)  j'suis ravi qu'tu sois revenue sur ton sujet, et qu'tu aies vu et apprécié
    mon tutoriel ! bravo pour avoir réussi à appliquer la macro !  :)

    remercie l'ours pour moi.  ;)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    A) réponse à ta question 1)

    a) exemple n° 1 pour 3 plages :

    [B26] = TCC([C3:G6, F8:J17, M41:P52])

    b) exemple n° 2 pour 3 plages ET 3 cellules :

    [B26] = TCC([C3:G6, E2, F8:J17, L24, M41:P52, T30])

    pour ton genre d'exo :

    le 2ème exemple est utile seulement si tu as besoin d'inclure dans le total des dépôts
    un dépôt « isolé » d'une cellule unique et / ou si tu as besoin d'inclure dans le total des
    dépenses
    une dépense « isolée » d'une cellule unique ; je n'crois pas qu'ce s'ra le cas,
    mais si ça s'présente, tu sauras comment faire.  ;)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    B) réponse à ta question 2)

    si tu copies le tableau à droite chaque mois, ça modifie la structure de la feuille, en particulier :
    l'emplacement des plages à additionner et là où il faut mettre un total ; comme pour moi c'était
    pas prévu vu qu'tu l'avais pas dit dans l'énoncé, c'est normal que ma macro telle que j'l'ai créée
    ne suive pas : la macro ne peux pas deviner ni prendre en compte la nouvelle structure !  :D

    donc c'est normal aussi qu'il faut modifier la macro chaque mois vu qu'elle n'est pas adaptée
    à ton cas réel ! j'vais essayer de faire une macro plus adaptée à ton cas réel, et tu n'auras
    pas besoin de la modifier chaque mois.  :)

    rhodo

    rhodo Posté le 15 août 2023, 16:24
    par rhodo
    0

    Bonjour Joc62,

    voici la version v2 : https://www.cjoint.com/c/MHqjuvIGNs0

    y'a 2 feuilles : "2023-1" est pour le 1er semestre 2023 ;
    "2023-2" est pour le 2ème semestre 2023.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ne modifie pas la macro ; elle fait ce qu'il faut, sur la feuille active.

    à toi de faire des essais de changements de couleur de fond,
    d'abord sur "2023-1" ; puis sur "2023-2".

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    bonus : sur "2023-1", fais Ctrl F2 ➯ aperçu avant impression ;
    c'est prêt à être imprimé.  :)  appuie sur la touche Echap pour
    revenir sur la feuille de calcul ; sur "2023-2" : idem.  :)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    tu peux partir d'une feuille avec un seul mois, puis ajouter ensuite,
    au fur et à mesure, les 5 mois suivants (= 6 mois pour un semestre) ;
    ça doit être dans le même ordre que ce que tu vois : donc d'abord
    en haut et vers la droite, puis en bas et vers la droite.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ATTENTION : j'ai créé cette macro en supposant que pour chaque
    mois
    , il y a TOUJOURS
     le même nombre de lignes de dépôts : 4 ;
    et le même nombre de lignes de dépenses : 11 ; ce sont les lignes
    3 à 6, et 8 à 18 (en haut) ; 32 à 35, et 37 à 47 (en bas).

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    dans ton fichier réel :

    a) il faudra adapter la macro en fonction du nombre de lignes réel.

    b) est-ce que le nombre de lignes de dépôts est fixe ou variable ?
    s'il est fixe : y'a combien de lignes de dépôts ?

    c) est-ce que le nombre de lignes de dépenses est fixe ou variable ?
    s'il est fixe : y'a combien de lignes de dépenses ?

    si le nombre lignes est variable (pour les dépôts et/ou les dépenses),
    il faudra que je fasse une autre macro.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    code VBA de Module1 (26 lignes) :

    Option Explicit

    'TCC = Total des Cellules Colorées, peu importe
    'la couleur de remplissage (= couleur du fond)

    Private Function TCC(plg As Range) As Currency
      Dim cel As Range
      For Each cel In plg
        If cel.Interior.Color <> 16777215 Then TCC = TCC + cel
      Next cel
    End Function

    Sub GetTCC()
      Dim cel As Range, lig As Byte, col As Byte, i As Byte, j As Byte
      Application.ScreenUpdating = 0
      For i = 0 To 1
        lig = IIf(i = 0, 25, 54)
        For j = 0 To 2
          col = 8 * j + 3: Set cel = Cells(lig, col)
          If cel.Offset(, -1) <> "Dépôts" Then Exit Sub
          cel.Offset(, 1) = TCC(cel.Offset(-22).Resize(4, 5))
          cel.Offset(1, 1) = TCC(cel.Offset(-17).Resize(11, 5))
        Next j
      Next i
    End Sub

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 16 août 2023, 12:18
    par rhodo
    • Re bonjour rhodo, juste pour te dire que dans mon poste précédent du 16 août 12:26 je n'avais pas vue ce poste-ci, mais ma question demeure pour la 2e macro dans un même fichier. Merci – 16 août 2023, 12:38
    0

    Bonjour rhodo,

    Bravo pour l'analyse en détail du tableau. L'ours est impressionné :)  

    Les lignes horizontales de dépôt et dépenses sont toujours les mêmes et le nombre de colonne varie de 4 à 5 selon le nombre de semaines dans chaque mois.  Tous les mois se suivent de gauche à droite sans colonne vide entre eux.  

    Pour faire plus simple, J'ai monté le tableau avec tout les mois déjà fait. En suivant tes instructions, j'ai appliqué la macro avec l'ensemble des plages (dépôts et dépenses) de tous les mois et ça fonctionne parfaitement; Ça me donne un total de dépôt et dépenses (des cellules colorées) depuis le début de l'année donc l'encaisse présent.  Fantastique!

    Comme rien n'est jamais simple dans la vie :) j'ai une autre problématique.  Mon fichier comporte deux comtes de budget séparé dans le même onglet.  Ce 2e compte est aligné sous le 1er avec les mêmes semaines/mois.  Est-ce possible d'appliqué une deuxième macro pour ce compte?

    Merci encore! 


    Posté le 16 août 2023, 12:26
    0

    @Joc62

    on s'est croisés ; j'avais supprimé l'analyse de détail car j'ai joint un nouveau
    fichier (version v2) dans mon post précédent (j'ai vu que tu as vu mon post
    de 12:18, et je te laisse essayer le fichier v2)
    .

    comme le nombre de semaines est variable dans un mois donné (4 ou 5) :
    la macro de v2 n'est pas adaptée à ça (mais on peut simplement effacer
    les données de la 5ème semaine quand elle est en trop, sans supprimer
    la colonne de cette 5ème semaine de trop)
    ; d'autre part, ce que tu as
    fait est bon.  :)

    tu as écrit : « Pour faire plus simple, j'ai monté le tableau avec tous les mois
    déjà fait. »
    ; oui, tu as très bien fait ; c'est effectivement plus simple !  :)

    à propos de tout ce que tu as écrit dans le même paragraphe : parfait !  :)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    à propos de ton autre problématique (les 2 comptes de budget séparés) :

    c'est possible d'appliquer une 2ème macro, oui, mais pour faire quoi ?
    la même chose ? un total des cellules dont le fond est coloré ?

    rhodo

    rhodo Posté le 16 août 2023, 12:55
    par rhodo
    0

    Bonjour rhodo,

    Merci pour ta version V2, mais malheureusement ça ne correspond pas à mon besoin pour ce tableau.  Comme je te mentionnais, mon tableau comporte les 12 mois de l'année de gauche à droite.  J'y ai appliqué ta macro et ça fonctionne parfaitement. 

    La macro que j'aimerais appliquer à mon 2e tableau budget (qui est aligné sous le 1er avec les mêmes semaines/mois) est pour la même fonction que celui du haut, soit additionner les dépôts et retrait des cellules colorées uniquement, pour avoir l'encaisse présent.

    Donc en résumé se sont deux comptes budget complètement séparés mais dans le même onglet. 

    Merci encore pour ton aide précieuses :)  

    Posté le 17 août 2023, 01:02
    0

    Bonjour Joc62,

    ok, alors supposons que :

    a) pour ton 1er compte de budget :

    * le total des dépôts colorés est en D54
    * le total des dépenses colorées est en D55
    * les lignes de la plage des dépôts sont les lignes 32 à 35
    * les lignes de la plage des dépenses sont les lignes 37 à 47
    * les colonnes de nombres à additionner sont de C à L

    b) pour ton 2ème compte de budget :

    * le total des dépôts colorés est en D83
    * le total des dépenses colorées est en D84
    * les lignes de la plage des dépôts sont les lignes 61 à 64
    * les lignes de la plage des dépenses sont les lignes 66 à 76
    * les colonnes de nombres à additionner sont de C à L

    alors dans le code VBA, la sub GetTCC() doit être ainsi :

    Sub GetTCC()
      [D25] = TCC([C3:G6]): [D26] = TCC([C8:G18])
      [D54] = TCC([C32:L35]): [D55] = TCC([C37:L47])
      [D83] = TCC([C61:L64]): [D84] = TCC([C66:L76])
    End Sub

    ça sera le même principe si plus tard tu auras besoin
    d'ajouter un 3ème budget ou un 4ème budget.  ;)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    voici 2 petits cadeaux : lien1 ; lien2

    rhodo

    rhodo Posté le 17 août 2023, 08:32
    par rhodo
    0

    Bonjour rhodo,

    Merci pour les petits cadeaux, Les filles de Caleb est un classique du cinéma Québécois.  J'espère que ce n'est pas le seul que tu as vue parce qu'on en a fait beaucoup d'autres très bon 

    Posté le 17 août 2023, 22:03
    0

    @Joc62

    je n'ai pas eu l'occasion de voir beaucoup de films québécois, mais ma série
    préférée est "Les filles de Caleb", avec aussi la suite "Blanche Pronovost".

    pour les 2 comptes de budget séparés, il me semble que tout est terminé ;
    si tu as autre chose à demander pour ce même exo, n'hésite pas.  :)

    rhodo

    rhodo Posté le 17 août 2023, 23:57
    par rhodo
    0

    @rhodo,

    J'avais écrit un autre paragraphe mais pour une raison que j'ignore il ne semble pas avoir passé, désolé.  Alors voici:

    J'ai ajouté l'information au code VBA selon tes directives et cela fonctionne parfaitement.  merci pour tout.

    Dernière question: Pourquoi doit-on faire Ctrl+ e pour que la macro s'exécute?  Pourquoi ne fonctionne-t-elle pas directement lorsqu'on colore une cellule? 

    Posté le 18 août 2023, 00:46
    0

    @Joc62

    j'suis ravi qu'ça fonctionne parfaitement !  :)  réponse à ta dernière question :

    quand on CHANGE la valeur d'une cellule, VBA peut le détecter ; MAIS
    quand on CHANGE une couleur (du texte, ou du fond de la cellule), VBA
    ne peut PAS le détecter ; c'est pour ça que la macro se lance par Ctrl e.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    n'oublie JAMAIS qu'il faut ACTUALISER les totaux via Ctrl e APRÈS
    avoir enlevé une couleur de fond déjà existante ; ou APRÈS avoir
    mis une couleur de fond quand y'en n'avait pas ; SINON, les totaux
    ne seront pas à jour, et donc erronés.

    je te l'avais déjà dit avant, mais c'est tellement important
    que je préfère te le redire.  ;)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    tu peux aussi lancer la macro :

    * via Alt F8 (fenêtre "Macro", bouton "Exécuter")

    * via un bouton de commande qu'on ajouterait
    sur la feuille de calcul.

    rhodo

    rhodo Posté le 18 août 2023, 12:18
    par rhodo
    0

    @rhodo

    Oui ce serait bien un bouton de commande, comment faire?

    Posté le 18 août 2023, 12:33
    0

    Bonjour Joc62, pendant que je vais écrire ma réponse, tu peux regarder ce 1er lien :

    https://www.youtube.com/watch?v=LiCw4XCRmCM&ab_channel=ShemarooMusicalMaestros

    en voici 2 autres : lien2 ; lien3

    rhodo Posté le 19 août 2023, 12:12
    par rhodo
    0

    Bonjour rhodo,

    Ton lien 1 mène nul part et les 2 et 3 à des vidéos de chansons arabe??  Pas certain de comprendre  

    Posté le 19 août 2023, 14:04
    • le 1er lien était erroné ; maintenant, je l'ai corrigé ; mon post de 14:16 contient toutes les infos nécessaires pour mettre un bouton de commande, qui lance la macro "GetTCC". – rhodo 19 août 2023, 16:15
    0

    @Joc62

    1) en haut de ton écran, regarde la 2ème ligne ; tu vois des mots tels que "Fichier" (ou c'est p't'être
    le « bouton Office »)
    , "Accueil", "Insertion", "Mise en page", etc... ça s'appelle le « ruban ».

    2) sur le ruban, vois-tu le mot "Développeur" ? (à droite de "Affichage") ; si oui, c'est parfait !  :)
    ➯ tu peux passer directement à l'étape 4) ; sinon, lis d'abord l'étape 3).

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    3) pour afficher l'onglet Développeur dans le ruban (selon la version d'Excel) :

    a) avec Excel 2007 : menu Fichier, Options Excel, Personnaliser, tu dois avoir une case à cocher
    pour « Afficher l'onglet Développeur dans le ruban » ; coche cette case, puis en bas, clique sur le
    bouton "OK".

    b) avec Excel 2021 : menu Fichier, Options, Personnaliser le ruban ; côté droit, regarde le cadre
    de droite (qui est sous le texte « Onglets principaux ») ; c'est coche la case qui est à gauche
    du mot "Développeur" ; puis en basclique sur le bouton "OK".

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    4) onglet Développeur, groupe Contrôles, tu peux voir le mot « Insérer » ; clique dessus ➯ tu vois
    en haut « Contrôles de formulaire », avec des icônes en dessous ; sans cliquer dessus, mets ton
    curseur de souris au-dessus du 1er icône, et attends environ 2 secondes ; tu dois alors voir une
    bulle d'info avec le texte « Bouton (Contrôle de formulaire) » ; si oui, clique maintenant sur l'icône,
    puis aussitôt après, sur l'endroit de ta feuille de calcul  tu veux mettre ton bouton de commande.

    juste avant le 2ème clic, le pointeur de souris est devenu une petite croix noire ; ne t'inquiète pas,
    c'est normal ; utilise cette croix pour bien visualiser l'endroit que tu vas choisir
    .

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    5) tu dois avoir la fenêtre "Affecter une macro" qui s'est ouverte ; pour « Nom de la macro : », il y a
    le texte "Bouton1_Cliquer" ; clique en dessous sur le nom de la macro que tu veux faire exécuter
    par le bouton de commande : ici, c'est le texte "GetTCC" ; clique sur le bouton "OK" ; c'est fait !  :)

    donc maintenant, quand tu vas cliquer sur le bouton de commande, ça va lancer la macro GetTCC(),
    exactement comme quand tu fais Ctrl e ; à propos, tu peux choisir de laisser ce raccourci clavier
    en plus du bouton, OU tu peux choisir d'enlever le raccourci.

    pour enlever le raccourci clavier, c'est très simple : là où tu avais mis la lettre du raccourci, donc
    là où tu avais mis e (souviens-toi, c'était dans une petite case blanche, et la manip commençait par
    Alt F8)
    , efface le caractère e (avec la touche Suppression) et clique sur le bouton "OK".

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    6) le texte du bouton de commande est "Bouton 1" ; pour le changer, fais un clic droit sur le bouton,
    et dans le menu contextuel, choisis l'item "Modifier le texte" ; tu peux mettre par exemple ce texte :
    "Totaux selon la couleur du fond" ; tu devras peut-être ajuster la largeur du bouton pour que
    TOUT le texte soit visible ; pour faire ça, je te laisse utiliser ta souris.  ;)

    rhodo

    rhodo Posté le 19 août 2023, 14:16
    par rhodo
    0

    @Joc62

    tu as écrit : « à des vidéos de chansons arabes ? » ; non, ce n'est pas en arabe ;
    et quand tu verras dans ce début du titre de la 1ère vidéo ce texte :

    « तेरी बंजारन रास्ता देखे कब आएगा मेरे बंजारे - श्रीदेवी का सुपरहिट गाना »

    ce n'est pas de l'arabe, et ça se lit de gauche à droite (pas l'inverse).  ;)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    quelle est ta version d'Office / Excel ? même si ça ne servira peut-être plus pour ce sujet,
    ça servira peut-être plus tard, pour d'autres sujets à toi auxquels j'aurai peut-être une
    réponse à t'apporter.

    rhodo

    rhodo Posté le 19 août 2023, 15:11
    par rhodo
    0

    Bonjour rhodo,

    Étant donné que ton premier lien ne marchait pas, je croyait que les deux autres liens était erronés.  C'est jolie mais quand même pas mon style de musique

    Posté le 20 août 2023, 14:14
    0

    @rhodo,

    Encore une fois le système à sauter mes derniers paragraphes :(  Je penses que c'est parce que j'y ajoutais des Emojis) 

    J'avais donc écrit ce qui suit:

    Pour le début du titre de la première vidéo, je ne comprend pas la phrase ni de droite à gauche autant que de gauche à droite :) 

    j'ai bien mis le boutons de commande et que ça fonctionne à merveille.  Merci pour tout!

    Pour la version Excel que j'utilise, c'est celle de Microsoft 365.  En effet, j'aurai surement d'autres questions pour toi.

    À bientôt 


    Posté le 20 août 2023, 15:42
    0

    Bonjour Joc62,

    je viens de lire tes 2 derniers posts ; merci d'avoir indiqué ta version d'Excel.

    à propos du bouton de commande : c'est parfait, j'suis ravi qu't'aies réussi !

    à bientôt sur un autre sujet.  :)

    rhodo

    rhodo Posté le 20 août 2023, 17:42
    par rhodo

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :