Sujet pour Alice : tableaux de synthèse de données (suite)

0

Bonjour Alice,

y'a un GROS problème du SYSTÈME D'ÉDITION des posts sur ton sujet précédent :
TOUT LE TEXTE SAISI PASSE EN GRAS LORS DE LA VALIDATION DU POST !

c'est pourquoi j'ai créé ce nouveau sujet pour toi, qui est la suite du précédent ;
de plus, comme ton précédent sujet était déjà très long, c'est mieux qu'on
poursuive ici.  :)

comme je vais répondre en plusieurs posts, je vais mettre à droite de ton pseudo
une référence du post, que tu pourras indiquer facilement ; exemple : pour un
post qui commence par « @Alice ; réf. P01 », tu pourras écrire : « dans le post
P01 » au lieu de : dans le post de telle date à telle heure ; je fais ça aussi car
pour toi et moi, ça sera plus facile de s'y retrouver (ainsi que pour les visiteurs
de cette conversation)
.

rhodo

    rhodo Posté le 18 août 2023, 18:09
    par rhodo
    Répondre
    0

    @Alice ; réf. P01

    sur la feuille "Préciser et trier" :

    désolé pour avoir causé les listes en erreur ; j'ai bêtement supprimé les 3 données
    sur fond jaune car je n'avais vu aucune dépendance de formule, mais en oubliant
    que ces données étaient utilisées pour les listes déroulantes !  :(

    tu as très bien fait de remettre ces données, et encore mieux de les avoir mises
    en colonne C, avec en C19 le texte "Pour liste déroulante :".  :)  comme ça,
    je ne pourrai plus l'oublier !  ;)

    merci d'avoir remis dans le grand tableau toutes les validations de données
    à droite des textes de ce genre : "Sous-action X = Quoi faire ?".  :)

    tu as très bien fait aussi de supprimer les séries de données en double.  :)

    rhodo

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

    @Alice ; réf. P02

    tu as écrit : « Quand je modifie la feuille "Liste costumes actuels", puis je vais sur
    la feuille "Synthèse 1" et je tape Alt F11 => l’actualisation des données ne se
    fait pas. »

    Alt F11, c'est seulement une « bascule » pour aller sur la fenêtre "Microsoft Visual
    Basic", puis pour revenir sur Excel ; ça ne fait rien d'autre ; donc ça ne peut pas
    faire une actualisation des donnéesni quoi que ce soit d'autre !  ;)

    pour l'actualisation des données elle-même, j'en parlerai plus tard, dans le post
    qui contiendra la version v5.4.

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

    tu as écrit :
    «
    Comment puis-je actualiser facilement les données de la feuille "Synthèse 1" ?

    Est-il possible que les données remontées dans cette feuille "Synthèse 1"
    s’actualisent automatiquement dès que des données sont modifiées dans
    les 2 feuilles "Liste costumes actuels" et "Utile vs inutile" (comme le
    faisaient mes anciennes formules)
    ?
    »

    et aussi :
    «
    3- Question d’actualisation de macro :

    Faut-il absolument être dans la feuille "Préciser et trier" pour lancer
    l’actualisation de la macro Dispatch en tapant Ctrl d ?
    »

    pour tout ce qui concerne les actualisations, j'en parlerai plus tard,
    dans le post qui contiendra la version v5.4.

    rhodo

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

    @Alice ; réf. P03

    tu as écrit : « j’ai la fenêtre qui permet de gérer les macros qui s’ouvre, et me montre
    2 fenêtres avec les 2 macros : C01 (Code) ; Module1 (Code). »

    attention ! tu confonds 2 choses différentes ! sur une feuille de calcul Excel, quand
    tu fais Alt F8, ça ouvre la fenêtre "Macro", qui permet de lancer une macro grâce au
    bouton "Exécuter(ou autre) ; quand tu es sur la fenêtre "Microsoft Visual Basic",
    la 2ème ligne qui est en haut (avec Fichier ; Edition ; Affichage ; etc...) est la barre
    de menus
     ; quand tu cliques sur un des menus, ça ouvre un menu déroulant avec
    plusieurs items ; ces items peuvent être séparés par un ou plusieurs traits horizon-
    taux gris, pour mieux distinguer certains groupes d'items ; il s'agit donc bien d'une
    seule
     liste unique
    , il n'y a pas une ou plusieurs fenêtres.  ;)

    pour le menu "Fenêtre", les items situés sous le dernier trait gris, c'est juste la liste
    des MODULES ouverts actuellement ; quand TOUS les modules sont FERMÉS,
    le fond de la fenêtre (côté droit seulement) est gris.

    quand ton curseur de texte est placé dans la fenêtre d'un module (côté droit),
    tu peux faire Ctrl F4 pour fermer la fenêtre du module que tu vois ; si ensuite
    tu veux ouvrir de nouveau le même module, il faut utiliser la fenêtre "Projet"
    (côté gauche, en haut) : sélectionne un nom de module ou un nom de feuille,
    et appuie sur la touche Entrée (tu peux aussi double-cliquer sur le nom).

    rhodo

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

    @Alice ; réf. P04

    sur la fenêtre "Projet", tu as peut-être vu que de haut en bas, j'ai mis les feuilles
    dans le même ordre que celui des feuilles sur la fenêtre "Excel(où c'est de
    gauche à droite)
     ; c'est grâce au code (de 3 caractères) que j'ai ajouté.

    par exemple, il y a : « A01 (Vos 9 piliers de vie) » ; A01 est le code de la feuille ;
    c'est possible de mettre un code plus long, mais ça me convient bien ainsi.  ;)

    dans un programme VBA, si je veux référencer la feuille de la cellule D5,
    je peux utiliser une de ces façons :

    a) Worksheets("Vos 9 piliers de vie").[D5] 'selon le nom de la feuille (.Name)

    b) [Vos 9 piliers de vie!D5] 'selon le nom de la feuille (.Name)

    c) A01.[D5] 'selon le code de la feuille (.CodeName)

    d) Worksheets(3).[D5] 'selon le n° d'index de la feuille (mais c'est si la feuille
    de D5 est la 3ème feuille du classeur ; si plus tard l'utilisateur déplace la
    feuille à gauche ou à droite, ça ne marchera plus) ➯ cette méthode doit
    être utilisée uniquement si on sait d'avance que les feuilles ne bougeront
    plus de place ; SI on INTERDIT de modifier la STRUCTURE de la feuille,
    ça sera forcément le cas ; il faudrait alors PROTÉGER le CLASSEUR.

    remarque : dans ce post, c'est volontairement que je ne parle pas de toutes
    les différentes façons de référencer seulement D5.  ;)

    rhodo

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

    @Alice ; réf. P05

    tu as écrit : « Je considère chacune de vos nouvelles versions comme
    mon nouveau fichier réel de travail. »

    merci de ton retour, c'est très flatteur pour moi.  :)  et surtout ça m'est
    très utile ! car je peux dorénavant utiliser les codes de feuille décrits
    dans mon post précédent de 19:08.

    exemple : dans mon prochain code VBA, au lieu de :

    Worksheets("A porter seul").Select

    il y aura plus simplement :

    D01.Select

    autre exemple : quand tu verras D00.[D21] : c'est la cellule D21 de la feuille
    "Préciser et trier" ; attention : dans la prochaine version v5.4, tu verras que
    j'ai changé quelques codes de feuilles ; mais vu que tu prendras cette
    nouvelle version comme ton nouveau fichier réel de travail, tu n'auras
    pas d'adaptation à faire : il n'y aura rien à modifier.  :)

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

    si t'avais gardé ton fichier de travail initial, t'aurais dû renommer toi-même
    le code de chaque feuille, et moi j'aurais dû te décrire la manip pour faire
    ces changements de code.  ;)

    rhodo

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

    @Alice ; réf. P06

    voici la version v5.4 : https://www.cjoint.com/c/MHtdYEiaE40

    c'est v5.3 (légèrement modifié par toi) ; je n'ai pas ajouté
    d'autres feuilles
    .

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

    tu as écrit :
    «
    3- Question d’actualisation de macro :

    Faut-il absolument être dans la feuille "Préciser et trier" pour lancer
    l’actualisation de la macro Dispatch en tapant Ctrl d ?
    »

    moi, j'avais écrit dans mon post du 11 août à 18:00 :
    «
    rappel : « dispatch » est le mot anglais qui signifie « répartition » ; c'est
    bien ça que fait la macro puisqu'elle répartit les données de la feuille
    "Préciser et trier" sur les 3 autres feuilles qui sont à droite.
    »

    comme la macro dispatch lit et utilise UNIQUEMENT les infos de la feuille
    "Préciser et trier" pour ensuite les répartir sur les 3 autres feuilles de droite
    (qui peuvent parfois être vides au départ)
    , ça me semble logique de lancer
    la macro dispatch SEULEMENT DEPUIS la feuille "Préciser et trier" :

    tu fais toutes les modifications de données nécessaires sur la feuille
    "Préciser et trier", puis Ctrl d te donnera les bons résultats ; cela sans
    même
    avoir besoin de connaître
    les modifs que tu aurais faites sur
    d'autres feuilles (ces autres feuilles n'étant même pas lues).

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

    cependant (pour te faire plaisir), j'ai quand même modifié la macro dispatch
    pour qu'elle puisse marcher DEPUIS n'importe quelle feuille du classeur.  :)

    d'autre part, c'est vrai que quand tu passeras ce fichier à quelqu'un d'autre,
    tu n'auras pas besoin de lui dire qu'il faut faire Ctrl d UNIQUEMENT sur la
    feuille "Préciser et trier" (et pas sur une autre feuille) ; mais c'est LE SEUL
    avantage
    qui découle d'autoriser de faire Ctrl d DEPUIS n'importe quelle
    feuille
    du classeur
    .

    attention : faudra quand même lui dire qu'il faut faire Ctrl d pour actualiser
    les résultats
     des 3 feuilles "A porter seul" ; "A partager" ; "A donner".  ;)

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

    attention : pour que la démo ci-dessous soit bien convaincante, fais bien
    toutes les étapes, même si c'est des étapes que tu avais éventuellement
    déjà faites lors de posts précédents.

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

    regarde la feuille "A donner" ; puis "A partager" ; puis "A porter seul" :
    sur ces 3 feuilles, c'est vide sous la ligne 5 ; si je le mets à chaque fois,
    c'est pour que tu vois bien que c'est la macro qui va écrire les résultats,
    et PAS que les résultats étaient DÉJÀ écrits AVANT de faire Ctrl d
    .

    va sur la feuille "Préciser et trier", mais ne fais PAS DÉJÀ Ctrl d ; d'abord,
    regarde la cellule D21 qui contient "avec" ; n'y touche pas, mais souviens-
    toi
    de sa valeur et de son emplacement.

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

    va sur une autre feuille, par exemple sur "Objectif SMARTER" ; fais Ctrl d,
    puis regarde les résultats ; il y en a beaucoup (sur les 3 feuilles), et ils sont
    tous corrects.  :)  MAIS ATTENTION : la démo n'est PAS TERMINÉE !  ;)

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

    retourne sur la feuille "Objectif SMARTER" ; maintenant, SANS changer
    de feuille
    , je te demande de modifier la valeur du précédent D21 : au lieu
    de "avec", sélectionne dans la liste l'item "sans" ; ... c'est fait ? non, hein ?
    même si t'es Alice au pays des merveilles, tu n'as pas la potion magique
    adéquate pour faire un tel tour de magie !  ;)

    même si t'es passée au travers du miroir, tu ne peux PAS passer ton bras
    au travers de la feuille "Objectif SMARTER" pour aller jusqu'à la feuille
    "Préciser et trier", puis CHANGER "avec" en "sans" !  :(

    bon, ne sois plus triste, ne fais PAS Ctrl d, et à la place, fais Ctrl b.  :)
    lis le texte du message, appuie sur la touche Echap, et fais Ctrl d.

    je te laisse vérifier les résultats.  :)

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

    puisqu'on est au bon endroit et au bon moment, note que SI la macro n'avait
    PAS AUPARAVANT supprimé les ANCIENS résultats, alors par exemple sur
    la feuille "A porter seul", il serait arrivé ceci :

    tu aurais vu les mêmes six premières lignes (6 à 11), MAIS EN DESSOUS,
    AU LIEU QUE ça soit VIDE, tu aurais vu TOUS les ANCIENS résultats du
    Ctrl d précédent !  :(  c'est ÇA que j'appelle une INTERFÉRENCE entre les
    ANCIENS résultats et les NOUVEAUX résultats, et cette interférence se
    produit SEULEMENT SI l'ancienne liste de résultats est plus longue que
    la nouvelle liste de résultats ; si l'ancienne liste était de même longueur
    ou plus courte, il n'y aurait PAS eu d'interférence, car la nouvelle liste
    aurait simplement recouvert (= écrasé) les données de l'ancienne liste.

    voilà, j'espère que cette 1ère démo t'aura plu. (va y'en avoir une autre)

    rhodo

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

    @Alice ; réf. P07

    tu as écrit :
    «
    Quand je modifie la feuille "Liste costumes actuels", puis je vais sur la feuille
    "Synthèse 1" et je tape Alt F11 => l’actualisation des données ne se fait pas.

    Comment puis-je actualiser facilement les données de la feuille "Synthèse 1" ?

    Est-il possible que les données remontées dans cette feuille "Synthèse 1"
    s’actualisent automatiquement dès que des données sont modifiées dans
    les 2 feuilles "Liste costumes actuels" et "Utile vs inutile(comme le
    faisaient mes anciennes formules)
    ?
    »

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

    d'abord, il faut déjà bien comprendre QUELLE est la MÉTHODE que j'ai utilisée :

    sur la feuille "Utile vs inutile", en B9:K9, tu CHOISIS "A GARDER" ou "A JETER" ;
    donc c'est QUAND tu CHANGES une des valeurs de B9:K9 que ça MET À JOUR
    les 2 feuilles "Costumes à jeter" et "Synthèse 1".

    ça se faisait AUTOMATIQUEMENT grâce au code VBA que j'avais mis dans
    le module de la feuille "Utile vs inutile".

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

    vu TOUTES tes NOUVELLES INFOS, j'ai préféré CHANGER de méthode ; aussi :

    a) j'ai supprimé TOUT l'ancien code VBA du module de la feuille "Utile vs inutile" ;
    donc maintenant, quand tu changes une des valeurs de B9:K9, ça ne fait plus de
    mise à jour des 2 feuilles "Costumes à jeter" et "Synthèse 1"
    .

    b) j'ai renommé certains codes de feuilles de calcul :

    * feuille "Liste costumes actuels" : au lieu du code B00, j'ai mis B01.
    * feuille "Utile vs inutile" : au lieu du code C01, j'ai mis B02.
    * feuille "Costumes à jeter" : au lieu du code C02, j'ai mis C01.
    * feuille "Synthèse 1" : au lieu du code C03, j'ai mis C02.

    c) maintenant, c'est QUAND tu SÉLECTIONNES la feuille "Costumes à jeter"
    que ça fait la MISE À JOUR de cette feuille "Costumes à jeter".  :)

    d) maintenant, c'est QUAND tu SÉLECTIONNES la feuille "Synthèse 1"
    que ça fait la MISE À JOUR de cette feuille "Synthèse 1".  :)

    à toi de faire plusieurs essais.  :)

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

    code VBA du module de C01 (= feuille "Costumes à jeter") ; 14 lignes :

    Option Explicit

    Private Sub Worksheet_Activate()
      Dim col As Byte, i As Byte
      Application.ScreenUpdating = 0: [B6:K7] = Empty: col = 2
      For i = 2 To 11
        If B02.Cells(9, i) = "A JETER" Then
          Cells(6, col) = i - 1           'n° costume
          Cells(7, col) = B01.Cells(5, i) 'nom du rôle-costume endossé
          col = col + 1
        End If
      Next i
    End Sub

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

    code VBA du module de C02 (= feuille "Synthèse 1") ; 29 lignes :

    Option Explicit

    Private Sub Worksheet_Activate()
      Dim c1 As Range, c2 As Range, col As Byte, i As Byte
      Application.ScreenUpdating = 0: [B6:K19] = Empty: col = 2
      For i = 2 To 11
        Set c1 = B01.Cells(5, i): Set c2 = B02.Cells(9, i)
        If c2.Value = "A GARDER" Then
          With Cells(6, col)
            .Value = i - 1              'n° costume
            .Offset(1) = c1.Value       'nom du rôle-costume endossé
            .Offset(2) = c1.Offset(1)   'symbole qui représente le rôle
            .Offset(3) = c2.Offset(-1)  'utilité sur 10 / objectif visé
            .Offset(4) = c2.Offset(1)   'pourquoi ce costume est utile ?
            .Offset(5) = c1.Offset(3)   'poids ressenti sur 10
            .Offset(6) = c2.Offset(2)   'quand doit-il être porté ?
            .Offset(7) = c2.Offset(3)   'avec qui doit-il être porté ?
            .Offset(8) = c2.Offset(4)   'combien d'heures le porter ?
            .Offset(9) = c1.Offset(6)   'action 1
            .Offset(10) = c1.Offset(7)  'action 2
            .Offset(11) = c1.Offset(8)  'action 3
            .Offset(12) = c1.Offset(9)  'action 4
            .Offset(13) = c1.Offset(10) 'action 5
            col = col + 1
          End With
        End If
      Next i
    End Sub

    rhodo

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

    @Alice ; réf. P08

    code VBA de Module1 ; 66 lignes :

    Option Explicit

    Sub BascAS()
      Dim s$
      With D00.[D21]
        If .Value = "sans" Then .Value = "avec" Else .Value = "sans"
        s = "Sur la feuille ""Préciser et trier"", la valeur de D21 a été inversée ;" & vbLf _
          & "donc le prochain dispatch (Ctrl d) se fera selon cette valeur :" & vbLf & vbLf & _
          UCase$(.Value) & " les sous-actions « A compléter... »"
        MsgBox s, 64, "Dispatch"
      End With
    End Sub

    Private Sub ClrData(f$)
      Dim d&
      With Worksheets(f)
        d = .Cells(Rows.Count, 2).End(3).Row: If d > 5 Then .Rows("6:" & d).Delete
      End With
    End Sub

    Sub Dispatch()
      Dim T, R, d(1 To 3), s$, v$, y$, f$
      Dim a As Byte, b As Byte, c As Byte, i As Byte, j As Byte, k As Byte
      'g = partie gauche (12 car) d'une sous-action qui sera ignorée
      Const g As String * 12 = "A compléter ": Application.ScreenUpdating = 0
      ClrData "A porter seul": ClrData "A partager": ClrData "A donner"
      T = D00.[D30:H159]: R = D00.[C7:C16]: d(1) = 6: d(2) = 6: d(3) = 6
      For a = 1 To 10 'costumes
        If D00.[A6].Offset(a) = "" Then
          i = (a - 1) * 13 + 1
          For b = 1 To 5 'actions
            s = T(i, b)
            For c = 1 To 5 'sous-actions
              j = (c - 1) * 2 + i + 3: v = T(j, b)
              If v <> "" Then
                y = Left$(v, 12)
                If y <> g Or (y = g And D00.[D21] <> "sans") Then
                  f = T(j + 1, b): k = 0
                  If f <> "" Then
                    Select Case f
                      Case "A porter seul": k = 1
                      Case "A partager": k = 2
                      Case "A donner": k = 3
                    End Select
                    If k > 0 Then
                      With Worksheets(f).Cells(d(k), 2)
                        .Resize(, 4).VerticalAlignment = 2
                        .HorizontalAlignment = 4: .IndentLevel = 2
                        .Offset(, 1).Resize(, 3).WrapText = -1
                        .Value = D00.[B6].Offset(a)  'n° du costume
                        .Offset(, 1) = R(a, 1)       'rôle endossé
                        .Offset(, 2) = s             'action
                        .Offset(, 3) = v             'sous-action
                        d(k) = d(k) + 1
                      End With
                    End If
                  End If
                End If
              End If
            Next c
          Next b
        End If
      Next a
      D01.Select
    End Sub

    rhodo

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

    @Alice ; réf. P09

    commentaires pour le module de C01 (= feuille "Costumes à jeter")

    ci-dessous, quand une cellule est indiquée sans précision de feuille,
    c'est implicitement sur la feuille active (donc sur "Costumes à jeter").

    Option Explicit : c'est pour forcer la déclaration des variables utilisées
    dans le code VBA.

    Private Sub Worksheet_Activate() .. End Sub : cette sub est exécutée
    automatiquement quand la feuille "Costumes à jeter" est activée (ou
    sélectionnée)
    .

    Dim col As Byte, i As Byte : déclaration de 2 variables de type Byte
    (1 octet) ; col est pour le n° colonne ; i sera un compteur de boucle.

    Application.ScreenUpdating = 0 : mise à jour de l'écran désactivée
    ➯ l'exécution du code VBA sera plus rapide.

    [B6:K7] = Empty : efface la plage B6:K7 (sur la feuille active).

    col = 2 : au départ, col = 2 (donc c'est la colonne B).

    For i = 2 To 11 .. Next i : boucle i, de 2 à 11.

    If B02.Cells(9, i) = "A JETER" Then .. End If : si en feuille "Utile vs inutile",
    la cellule de la ligne 9 et de la colonne i vaut "A JETER" alors .. fin si.

    Cells(6, col) = i - 1 : écrit i - 1 en cellule de la ligne 6, colonne col ;
    c'est le n° costume.

    Cells(7, col) = B01.Cells(5, i) : écrit ceci en cellule de la ligne 7, colonne col :
    la cellule de la ligne 5, colonne i de la feuille B01 (Liste costumes actuels) ;
    c'est le nom du rôle-costume endossé.

    col = col + 1 : n° colonne augmenté de 1 ➯ une colonne de plus.

    rhodo

    rhodo Posté le 21 août 2023, 11:05
    par rhodo
    0

    @Alice ; réf. P10

    commentaires pour le module de C02 (= feuille "Synthèse 1")

    ci-dessous, quand une cellule est indiquée sans précision de feuille,
    c'est implicitement sur la feuille active (donc sur "Synthèse 1").

    Option Explicit : c'est pour forcer la déclaration des variables utilisées
    dans le code VBA.

    Private Sub Worksheet_Activate() .. End Sub : cette sub est exécutée
    automatiquement quand la feuille "Synthèse 1" est activée (ou
    sélectionnée)
    .

    Dim c1 As Range, c2 As Range, col As Byte, i As Byte : déclaration
    de plusieurs variables ; c1 et c2 sont de type Range (= plage, qui
    peut être une cellule unique)
    .

    Application.ScreenUpdating = 0 : mise à jour de l'écran désactivée
    ➯ l'exécution du code VBA sera plus rapide.

    [B6:K19] = Empty : efface la plage B6:K19 (sur la feuille active).

    col = 2 : au départ, col = 2 (donc c'est la colonne B).

    For i = 2 To 11 .. Next i : boucle i, de 2 à 11.

    Set c1 = B01.Cells(5, i) : c1 référence la cellule en feuille B01
    (Liste costumes actuels) de la ligne 5, colonne i.

    Set c2 = B02.Cells(9, i) : c2 référence la cellule en feuille B02
    (Utile vs inutile) de la ligne 9, colonne i.

    If c2.Value = "A GARDER" Then .. End If : si la valeur de c2
    est "A GARDER" alors .. fin si.

    With Cells(6, col) .. End With : avec la cellule de la ligne 6,
    colonne col.

    .Value = i - 1 : la valeur de la cellule indiquée par le With
    est mise à i - 1 ; c'est le n° costume.

    .Offset(1) = c1.Value : .Offset = décalage ; la cellule située
    1 ligne en dessous de la cellule indiquée par le With est
    mise à la valeur de la cellule référencée par c1.

    c'est la même chose pour les autres lignes de code VBA
    du même style, sauf que parfois, la référence est c2 au
    lieu de c1 ; quand l'Offset est -1, c'est 1 ligne au-dessus.

    col = col + 1 : une colonne de plus.

    rhodo

    rhodo Posté le 21 août 2023, 11:28
    par rhodo
    0

    Bonjour Alice,

    je te laisse lire tous mes posts précédents : post de la question (énoncé)
    et posts de réf. P01 à P10 ; comme le code VBA de Module1 est très long
    (66 lignes), je le commenterai si le fonctionnement de la macro Dispatch
    te convient.  :)

    ne me parle pas de "Synthèse 2", "Synthèse 3", et "Synthèse finale" :
    on s'en occupera plus tard ; je veux d'abord finir ce qui est déjà
    commencé
    . (selon ce qui sera dans ton retour + mon prochain
    commentaire du code VBA de Module1)

    rhodo

    rhodo Posté le 21 août 2023, 11:54
    par rhodo
    0

    Bonjour Rhodo,

    Mille merci pour vos réponses.

    Je n'ai pas pu me connecter ces derniers jours, mais je prends connaissance de vos posts et vous réponds rapidement.

    Alice

    Posté le 22 août 2023, 09:44
    0

    Bonjour Rhodo,


    Dans le post P01 :

    Parfait pour cette feuille "Préciser et trier", je suis contente que mes modifications soient bonnes.

    Pour moi cette feuille est finalisée.


    Dans le post P04 :

    D’accord je comprends :)


    Dans le post P05 :

    Tant mieux ! :)

    Je me suis dit effectivement que ce serait plus simple pour vous.

    C’est pour cette raison que je vous ai envoyé 1 fois le fichier complet (et en effet cela fait beaucoup de feuilles d’un coup !).

    Ainsi je vous laisse ajouter chacun des onglets pour finir au fichier final.


    Dans le post P06 :

    Merci beaucoup ! :)

    En effet ce sera beaucoup plus facile pour les futurs utilisateurs de pouvoir faire simplement Ctrl d pour lancer la macro Dispatch depuis n’importe quelle feuille.

    Effectivement même moi je n’ai pas de potion magique pour aller dans une cellule d’une feuille sur laquelle je ne suis pas ! :D

    Mais vous avez trouvé une solution !

    Je retiens le Ctrl b pour modifier cette cellule depuis n’importe quelle feuille !

    Je confirme que cela fonctionne parfaitement :)


    Dans le post P07 :

    Parfait pour l’actualisation automatique des données quand je change une des valeurs de B9 : K9 dans la feuille "Utile vs inutile".

    Cela fonctionne très bien ainsi :)

    C’est très bien que la mise à jour des feuilles "Costumes à jeter" et "Synthèse 1" se fasse quand on les sélectionne.

    J’ai fait des essais et c’est tout bon ! :)


    Dans le post P08 :

    Je devine qu’il s’agit du code vba qui correspond à la macro Dispatch ?


    Dans le post du 21/08 à 21h54 :

    Honnêtement je suis désolée mais je ne sais pas vous dire si le fonctionnement de la macro Dispatch me convient.

    Car pour moi la macro que vous avez créée est très bien telle qu’elle est !

    En effet, elle fonctionne bien, elle rapporte les bonnes données dans les bonnes feuilles, et aux bons endroits !

    Simplement avec un Ctrl d !

    => C’est donc parfait pour moi :)

    Je n’ai aucune connaissance en code vba aussi je ne comprends pas vraiment les codes que vous me transmettez :(

    Je devine le sens de certaines lignes mais je ne pourrai pas vraiment « contrôler » ou exprimer un avis sur ce point :/

    Je vous fais confiance.

    Vous semblez vraiment bien connaître le codage, Excel et les macros.


    => Donc pour moi toutes les feuilles de la version v5.4 peuvent être considérées comme finalisées.

    Je ne vois pas de changements à y apporter :)


    Je vous remercie encore par avance pour votre aide,

    Alice

    Posté le 23 août 2023, 17:46
    1

    @Alice ; réf. P11

    à propos de P07 :

    tu as écrit : « Parfait pour l’actualisation automatique des données quand
    je change une des valeurs de B9:K9 dans la feuille "Utile vs inutile". »

    attention : ceci est erroné !  :(  en effet, j'avais bien précisé dans P07 :
    «
    vu TOUTES tes NOUVELLES INFOS, j'ai préféré CHANGER de méthode ; aussi :

    a) j'ai supprimé TOUT l'ancien code VBA du module de la feuille "Utile vs inutile" ;
    donc maintenant, quand tu changes une des valeurs de B9:K9ÇA NE FAIT PLUS
    DE MISE À JOUR DES 2 FEUILLES "Costumes à jeter" ET "Synthèse 1"
    .

    c) maintenant, c'est QUAND tu SÉLECTIONNES la feuille "Costumes à jeter"
    que ça fait la MISE À JOUR de cette feuille "Costumes à jeter".  :)

    d) maintenant, c'est QUAND tu SÉLECTIONNES la feuille "Synthèse 1"
    que ça fait la MISE À JOUR de cette feuille "Synthèse 1".  :)
    »

    en conséquence :

    sur la feuille "Utile vs inutile", quand tu changes une des valeurs de B9:K9 :
    ça met "A GARDER" ou "A JETER" ; ou ça efface la cellule si tu appuies sur
    la touche Suppression ➯ cellule vide ; mais ça ne fait rien d'autre :  il n'y a
    AUCUNE ACTUALISATION DES DONNÉES À CE STADE !  ;)  ensuite :

    * c'est seulement quand tu sélectionnes la feuille "Costumes à jeter" qu'il y a
    une actualisation de cette feuille "Costumes à jeter" ; et ça uniquement pour
    les valeurs "A JETER" de B9:K9 (de "Utile vs inutile") ; les cellules vides sont
    ignorées.

    * c'est seulement quand tu sélectionnes la feuille "Synthèse 1" qu'il y a
    une actualisation de cette feuille "Synthèse 1" ; et ça uniquement pour les
    valeurs "A GARDER" de B9:K9 (de "Utile vs inutile") ; les cellules vides
    sont ignorées.

    * ça fait qu'un costume pour lequel tu as mis "A JETER" se trouve en feuille
    "Costumes à jeter" ; si tu as mis "A GARDER", le costume se trouve sur
    la feuille "Synthèse 1" ; comme les cellules vides sont ignorées, le costume
    est sur aucune des 2 feuilles si tu avais mis une cellule vide via la touche
    Suppression : le costume est purement et simplement ignoré.  ;)

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

    dessous, tu as écrit :
    «
    Cela fonctionne très bien ainsi.  :)

    C’est très bien que la MISE À JOUR des feuilles "Costumes à jeter"
    et "Synthèse 1" se fasse QUAND ON LES SÉLECTIONNE.

    J’ai fait des essais et c’est tout bon !  :)
    »

    ok, ça c'est parfait !  :)

    rhodo

    rhodo Posté le 24 août 2023, 10:54
    par rhodo
    1

    @Alice ; réf. P12

    à propos de P08 :

    tu as écrit : « Je devine qu’il s’agit du code vba
    qui correspond à la macro Dispatch ? »

    c'est exact.  :)

    la sub Dispatch() appelle la sub privée ClrData() (qui est située juste au-dessus
    d'elle)
    ; plus haut, au tout début du module, j'ai mis la sub BascAS() ; comme elle
    est très courte, j'ai trouvé inutile de créer un autre module juste pour cette sub.  ;)

    « BascAS » est mon abréviation de « Bascule "Avec" ou "Sans" » ; sous-entendu :
    les sous-actions qui commencent par "A compléter" ; c'est cette sub qui inverse
    la valeur de D21 et affiche le texte de la boîte de dialogue "Dispatch" (quand tu
    fais Ctrl b)
    .

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

    tu as écrit : « Honnêtement je suis désolée mais je ne sais pas vous dire
    si le fonctionnement de la macro Dispatch me convient. »

    là, il y a un petit malentendu.  ;)  je ne t'ai pas demandé si tu trouves que
    le code VBA de la macro Dispatch est bien écrit ou non ; je t'ai demandé
    si le fonctionnement de la macro Dispatch() te convient ou non ; donc
    en fait, je parlais simplement de son utilisation.  :D

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

    vu qu'ensuite, tu as écrit à propos de l'utilisation de la macro Dispatch() :
    «
    Car pour moi la macro que vous avez créée est très bien telle qu’elle est !

    En effet, elle fonctionne bien, elle rapporte les bonnes données dans les
    bonnes feuilles, et aux bons endroits !

    Simplement avec un Ctrl d !

    => C’est donc parfait pour moi :)
    »

    c'est OK, tu as répondu à ma question.  :)  ➯ de P14 à P16,
    j'ai commenté TOUT le code VBA de Module1.  :)

    rhodo

    rhodo Posté le 24 août 2023, 12:17
    par rhodo
    1

    @Alice ; réf. P13

    1) sur ton 1er sujet "Comment obtenir automatiquement différents tableaux...",
    tu as écrit dans ton post :

    * du 8 août à 21:10 : « J'aimerais comprendre votre macro pour être capable
    de la modifier au besoin mais cela dépasse mes compétences actuelles.  :( »

    * du 15 août à 09:43 : « Concernant le code VBA : Je comprends certaines
    fractions du code. Mais pour la plupart c'est du chinois pour moi :( »

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

    2) sur ce sujet, tu as écrit dans ton post du 23 août à 17:46 :
    «
    Je n’ai aucune connaissance en code vba aussi je ne comprends
    pas vraiment les codes que vous me transmettez  :(

    Je devine le sens de certaines lignes mais je ne pourrai pas vraiment
    « contrôler » ou exprimer un avis sur ce point :/
    »

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

    réponse pour 1) et 2) : c'est bien pour ça que
    j'ai fait des commentaires de code VBA.  :)

    rhodo

    rhodo Posté le 24 août 2023, 16:35
    par rhodo
    1

    @Alice ; réf. P14

    commentaires pour la sub BascAS() de Module1 :

    Option Explicit : c'est pour forcer la déclaration des variables utilisées dans
    le code VBA ; c'est valable pour le module en cours entier, donc pour tout
    Module1, donc aussi pour les 2 subs ClrData() et Dispatch() qui seront
    commentées plus loin dans P15 et P16.

    Sub BascAS() .. End Sub : c'est la sub BascAS() : Bascule "Avec" ou "Sans" ;
    sous-entendu : les sous-actions qui commencent par "A compléter".

    Dim s$ : s est une variable de type "chaîne de caractères" (= texte).

    With D00.[D21] .. End With : avec la cellule D21 de la feuille D00 "Préciser et trier".

    If .Value = "sans" Then .Value = "avec" Else .Value = "sans" : inversion de valeur :
    si c'est "sans", on met "avec" ; sinon : si ça n'est pas "sans", c'est que c'est "avec"
    OU rien si tu avais effacé la cellule D21 avec la touche Suppression ; dans ces
    2 cas, on met en D21 "sans".

    s = "Sur la feuille ""Préciser et trier"", la valeur de D21 a été inversée ;" & vbLf _
      & "donc le prochain dispatch (Ctrl d) se fera selon cette valeur :" & vbLf & vbLf & _
      UCase$(.Value) & " les sous-actions « A compléter... »"

    on met dans la variable s le texte qui sera affiché dans la boîte de dialogue ;
    toutes les constantes qui sont déjà incluses dans VBA commencent par les
    2 lettres vb ; exemple : vblf ; lf est l'abréviation de « line feed » ➯ en fait, ça
    fait un saut de ligne ➯ c'est juste pour passer à la ligne suivante dans le texte
    à afficher par la boîte de dialogue ; quand y'a 2 vblf de suite, ça fait que ça
    saute une ligne entre 2 paragraphes.

    UCase$() est pour UpperCase (casse haut des imprimeurs) : ça met un
    texte entier en majuscules ➯ ça affichera "AVEC" ou "SANS".

    MsgBox s, 64, "Dispatch" : affiche une boîte de dialogue avec le texte s ;
    le titre de cette boîte de dialogue est "Dispatch" ; 64 est le code pour
    afficher l'icône « i » (dans un rond bleu) ; i est l'initiale d'« information » ;
    c'est comme les bureaux d'informations (= renseignements) dans les
    gares ou les aéroports.  ;)  (c'est un symbole international)

    rhodo

    rhodo Posté le 24 août 2023, 18:20
    par rhodo
    1

    @Alice ; réf. P15

    commentaires pour la sub ClrData() de Module1 :

    Private Sub ClrData(f$) .. End Sub : c'est la sub privée ClrData() ; cette sub est
    privée car elle est appelée uniquement dans le module en cours « Module1 » ;
    elle n'est pas appelée par un autre module, ni par l'utilisateur ; en fait, c'est la
    sub Dispatch() qui appelera cette sub ClrData() ; f est le nom de la feuille ;
    dans la sub Dispatch(), ce nom est transmis par les 3 appels de ClrData().

    Dim d& : variable d, de type Long (entier long).

    With Worksheets(f) .. End With : avec la feuille de nom f.

    d = .Cells(Rows.Count, 2).End(3).Row : Rows.count = nombre de lignes maxi =
    1 048 576 ; d = n° de la dernière ligne utilisée, selon la 2ème colonne (col B) ;
    le 3 est équivalent à : xlUp.

    If d > 5 Then .Rows("6:" & d).Delete : si d > 5, alors : on supprime toutes les
    lignes de 6 à d (suppression de lignes entières) : ça évite toute interférence
    malencontreuse entre les anciens résultats et les nouveaux résultats.

    rhodo

    rhodo Posté le 24 août 2023, 19:08
    par rhodo
    1

    @Alice ; réf. P16

    commentaires pour la sub Dispatch() de Module1 :

    Sub Dispatch() .. End Sub : c'est la sub Dispatch(), qui va répartir les données
    de la feuille "Préciser et trier" sur les 3 feuilles de droite (appelée par Ctrl d)

    Dim T, R, d(1 To 3), s$, v$, y$, f$ : déclaration de plusieurs variables.

    Dim a As Byte, b As Byte, c As Byte, i As Byte, j As Byte, k As Byte : idem.

    'g = partie gauche (12 car) d'une sous-action qui sera ignorée
    Const g As String * 12 = "A compléter " : « As String * 12 » ➯ chaîne de
    caractères de longueur fixe de 12 caractères.

    Application.ScreenUpdating = 0 : mise à jour de l'écran désactivée
    ➯ l'exécution du code VBA sera plus rapide.

    ClrData "A porter seul" : 1er appel de la sub ClrData() ; on transmet le nom
    de la feuille sur laquelle on va effacer les anciens résultats (s'il y en a).

    ClrData "A partager" : 2ème appel de ClrData() ; idem, pour la feuille indiquée.

    ClrData "A donner" : 3ème appel de ClrData() : idem, pour la feuille indiquée.

    T = D00.[D30:H159] : on met dans la variable T les données de la feuille
    "Préciser et trier" qui sont en D30:H159.

    R = D00.[C7:C16] : on met dans la variable R les données de la feuille
    "Préciser et trier" qui sont en C7:C16.

    d(1) = 6: d(2) = 6: d(3) = 6 : pour chacune des 3 feuilles de résultats,
    c'est à partir de la ligne 6.

    For a = 1 To 10 .. Next a : boucle a, pour 10 costumes.

    If D00.[A6].Offset(a) = "" Then .. End If : sur la feuille "Préciser et trier",
    à partir de la cellule A6, on teste la cellule qui est a ligne(s) plus bas :
    si c'est vide, on exécute la suite, sinon on saute le traitement ; c'est
    cela qui permet de sauter un costume pour lequel tu as mis un « x »
    en colonne A (donc en A7:A16) ; en fait, tu peux mettre aussi autre
    chose que « x » : si tu mets par exemple « * » ou « # », le costume
    sera aussi ignoré (car c'est différent d'une cellule vide).

    i = (a - 1) * 13 + 1 : on calcule i selon a ; ça revient, dans le grand tableau
    de la feuille "Préciser et trier", à la 1ère ligne du bloc de 13 lignes d'un
    costume : ligne 30 pour le costume n° 1 ; ligne 43 pour le costume n° 2 ;
    ligne 56 pour le costume n° 3 ; etc...

    For b = 1 To 5 .. Next b : boucle b, pour 5 actions.

    s = T(i, b) : action d'un costume (de l'action 1 à l'action 5 en fonction de b).

    For c = 1 To 5 .. Next c : boucle c, pour 5 sous-actions.

    j = (c - 1) * 2 + i + 3 : on calcule j selon c ; ça revient, dans le grand tableau
    de la feuille "Préciser et trier", à la 1ère ligne du bloc de 2 lignes qui suit
    la ligne i précédente, à laquelle on ajoute 3 car on doit sauter les 2 lignes
    « Utilité de cette action sur 10/objectif ? » et « Pourquoi cette action... ? » ;
    donc au final, ça revient au n° ligne de « Sous-action X » ; pour Action 1,
    ce sont les lignes 33 ; 35 ; 37 ; 39 ; 41.

    v = T(j, b) : v = valeur de la sous-action X (= son texte).

    If v <> "" Then .. End If : on fait la suite seulement si le texte de la sous-
    action X est non vide ➯ c'est ça qui permet de sauter une sous-action
    vide ➯ une sous-action vide n'apparaîtra pas dans les résultats.  ;)

    y = Left$(v, 12) : on met dans y les 12 premiers caractères de gauche
    du texte de la sous-action X ; ça sera pour les comparer avec les 12
    caractères de la constante g (définie au début de la sub).

    If y <> g Or (y = g And D00.[D21] <> "sans") Then .. End If : on fait la suite
    seulement si y est différent de g, OU (si y = g ET QUE D21 de la feuille
    "Préciser et trier" est différent de "sans") ; rappel : différent de "sans",
    ça signifie "avec" OU cellule vide si l'utilisateur a effacé D21 par appui
    de la touche Suppression ; noter que c'est ce test qui fait aussi que les
    sous-actions qui commencent par "A compléter " (espace final compris)
    n'apparaîtront pas dans les résultats.  ;)

    f = T(j + 1, b) : on met dans f la valeur qui est une ligne plus bas ; c'est la
    cellule qui est juste sous la sous-action X, et qui correspond à la valeur
    de "... = Quoi faire ?" ➯ c'est l'item choisi dans une liste = "A donner" ;
    ou "A porter seul" ; ou "A partager" ; c'est cette valeur qui va donc
    déterminer sur laquelle des 3 feuilles de résultats on va écrire.

    k = 0 : k vaut 0 ; signification : feuille non valide.

    If f <> "" Then : sécurité ! en effet, si au lieu de choisir un des items
    de la liste
    , l'utilisateur a effacé le contenu de la cellule en appuyant sur la
    touche "Suppression", alors une cellule vide ne pourra pas être utilisée
    comme nom valide de feuille de résultats ! ➯ la suite du code VBA est
    exécutée seulement si f est non vide (= un des 3 items de la liste qui a
    été mentionnée plus haut)
    .

    Select Case f .. End Select : selon la valeur de f

    Case "A porter seul": k = 1 : si f vaut "A porter seul", on met 1 dans k.

    Case "A partager": k = 2 : si f vaut "A partager", on met 2 dans k.

    Case "A donner": k = 3 : si f vaut "A donner", on met 3 dans k.

    If k > 0 Then .. End If : on fait la suite seulement si k est > à 0 ; donc
    en fait, c'est seulement si k vaut 1, 2, ou 3 (ça arrive uniquement
    pour un nom valide de feuille de résultats)
    .

    ainsi, le Select Case f .. End Select équivalait à une 2ème sécurité,
    via f et k ensemble (les deux à la fois).

    With Worksheets(f).Cells(d(k), 2) .. End With : avec la cellule de
    la feuille f qui est en ligne d(k), colonne 2 (colonne B).

    .Resize(, 4).VerticalAlignment = 2 : alignement vertical centré
    pour les colonnes B:E d'une ligne de résultats.

    .HorizontalAlignment = 4: .IndentLevel = 2 : pour la cellule B
    d'une ligne de résultats, donc pour le n° costume : mettre
    un alignement horizontal à droite, avec indentation de 2.

    .Offset(, 1).Resize(, 3).WrapText = -1 : mettre un retour à la ligne
    automatique pour les colonnes C:E d'une ligne de résultats ➯
    c'est l'équivalent VBA de ceci : fenêtre "Format de cellule", onglet
    "Alignement", ☑ Renvoyer à la ligne automatiquement ; avec -1,
    c'est comme si j'avais mis : .WrapText = True.

    .Value = D00.[B6].Offset(a) : dans la cellule du With, on met le
    costume ; ce est sur la feuille "Préciser et trier", à partir de
    B6, et a lignes plus bas.

    .Offset(, 1) = R(a, 1) : 1 colonne à droite de la cellule du With,
    on met le rôle endossé ; ce rôle est dans la variable R.

    .Offset(, 2) = s : 2 colonnes à droite de la cellule du With,
    on met l'action ; celle-ci est dans la variable s.

    .Offset(, 3) = v3 colonnes à droite de la cellule du With,
    on met la sous-action ; celle-ci est dans la variable v.

    d(k) = d(k) + 1 : une ligne de plus.

    D01.Select : cette instruction est située après Next a, juste avant
    le End Sub de la sub Dispatch() ; ça sélectionne la feuille D01,
    donc la feuille "A porter seul" ; ainsi, après exécution de la sub
    Dispatch(), et juste avant d'en sortir, on sélectionne la 1ère des
    3 feuilles de résultats.

    rhodo

    rhodo Posté le 25 août 2023, 02:38
    par rhodo
    1

    Bonjour Alice,

    Lis d'abord mes posts réf. P11 à P16.

    dans ton post du 23 août à 17:46, tu as aussi écrit :
    « Pour moi toutes les feuilles de la version v5.4 peuvent être considérées
    comme finalisées. Je ne vois pas de changements à y apporter.  :) »

    ok, c'est aussi mon avis.  :)  ➯ ça clôt toute la première partie.  :)

    la suite sera de faire "Synthèse 2", SANS parler de "Synthèse 3ni de "Synthèse
    finale", car on fera ces 3 parties l'une après l'autre : chaque chose en son temps,
    il ne faut pas tout faire d'un seul coup !  ;)  (ça ferait trop de choses à la fois !)

    rhodo

    rhodo Posté le 25 août 2023, 03:08
    par rhodo
    0

    Bonjour Rhodo,

    Je vous remercie pour vos réponses et vos précisions sur le code utilisé dans la macro :).

    Ref P11 :

    En effet, j’ai bien compris que la mise à jour se fait uniquement lorsque l’on sélectionne les feuilles "Costumes à jeter" et "Synthèse 1".

    Disons que pour moi c’est une « sorte » de mise à jour automatique dans le sens ou l’utilisateur n’a pas besoin d’appuyer sur une ou plusieurs touches pour que la mise à jour se fasse.
    Comme c’est le cas pour la macro Dispatch qui nécessite que l’utilisateur appuie sur crtl d.

    Mais vous avez parfaitement raison : ce n’est pas une mise à jour automatique pour autant.

    Ainsi je me suis noté de bien avertir les utilisateurs qu’ils doivent sélectionner ces 2 feuilles, "Costumes à jeter" et "Synthèse 1", s’ils veulent que les données soient mises à jour dans ces 2 feuilles, mais aussi dans les feuilles suivantes : « Préciser et trier », etc.


    J’ai hâte de découvrir quelle solution vous trouverez pour la suite des feuilles :)

    Sachant que je bloque surtout sur les 2 feuilles « Synthèse 3 » et « Synthèse finale ».

    J’arrive à créer la feuille « Synthèse 2 » grâce à une requête qui additionne les lignes des feuilles « A porter seul » et « A partager », en supprimant les lignes vides. En passant par 2 feuilles intermédiaires. Ce n’est pas idéal mais cela fonctionne je crois.


    Je vous remercie encore beaucoup par avance pour votre aide,

    Alice

    Posté le 25 août 2023, 18:29
    1

    @Alice ; réf. P17

    sur ton 1er sujet, dans ton post du 15 août à 09:43, tu avais écrit à propos
    de "Synthèse 2" : « 2- Feuille "Synthèse 2" : Le but de cette feuille est de
    montrer uniquement les sous-actions de "A porter seul" et "A partager". »

    dans le même post, tu as aussi écrit :
    «
    => Donc je comprends que ces 3 feuilles "A porter seul", "A partager",
    et "A donner" serviront de synthèses = à ne pas toucher ni modifier.

    Cela signifie qu'il faut créer 3 nouvelles feuilles :
    "A faire" : données de la feuille "A porter seul" dans les colonnes B à E ;
    "A répartir" : données de la feuille "A partager" dans les colonnes B à E ;
    "A déléguer" : données de la feuille "A donner" dans les colonnes B à E
    => et permettront la saisie de nouvelles données = selon les colonnes
    en jaune pâle.

    C'est juste ?
    »

    oui, c'est juste.  :)  et selon le nom des 3 nouvelles feuilles, ça donne :

    « 2- Feuille "Synthèse 2" : Le but de cette feuille est de montrer
    uniquement les sous-actions de "A faire" et "A répartir". »

    donc SI j'ai bien compris :

    on fait "Synthèse 2UNIQUEMENT À PARTIR des infos des 2 feuilles "A faire" et "A répartir"
    ➯ y'a pas besoin de lire des infos depuis UNE AUTRE feuille ➯ y'a pas besoin de lire les
    infos des 3 anciennes feuilles  "A porter seul" ; "A partager" ; "A donner" ; NI DEPUIS
    AUCUNE AUTRE
    feuille
     : SEULEMENT DEPUIS les 2 feuilles "A faire" et "A répartir".

    c'est exact ? à confirmer.

    rhodo

    rhodo Posté le 25 août 2023, 19:30
    par rhodo
    1

    @Alice ; réf. P18

    à la fin de ton post du 25 août à 18:29, tu as écrit :

    « J’arrive à créer la feuille "Synthèse 2" grâce à une requête qui additionne les lignes des feuilles
    "A porter seul" et "A partager", en supprimant les lignes vides ; en passant par 2 feuilles
    intermédiaires
    . Ce n’est pas idéal mais ça fonctionne je crois. »

    selon le NOM des NOUVELLES feuilles, il me semble que ça serait PLUTÔT :

    « J’arrive à créer la feuille "Synthèse 2" grâce à une requête qui additionne les lignes des feuilles
    "A faire" et "A répartir", en supprimant les lignes vides ; en passant par 2 feuilles intermé-
    diaires
    . Ce n’est pas idéal mais ça fonctionne je crois. »

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

    c'est possible que ça fonctionne ; mais j'préfère quand même voir c'que t'as fait ; j'pourrai p't'être
    améliorer kek'chose ?  ;)  j'me dis qu't'as p't'être de nouveau mis plein d'formules avec des
    fonctions RECHERCHEH() alors qu'ça peut être évité avec un p'tit code VBA adéquat.  ;)

    ➯ maint'nant, j'veux voir ton nouveau classeur, avec tout c'que j'ai déjà fait + tes 3 nouvelles
    feuilles
     "A faire" ; "A répartir" ; "A déléguer" + ta feuille "Synthèse 2" ; mais NE mets PAS
    d'AUTRES feuilles
    : il ne doit PAS y avoir les 6 feuilles "24 forces de caractère" à "Synthèse
    finale
    " ; au cas où tu oublies et qu'tu les mets quand même, je les supprimerai.  ;)

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

    quand t'es arrivée à créer la feuille "Synthèse 2", t'es passée par 2 feuilles intermédiaires ;
    ce sont "A faire" et "A répartir" ? ou il s'agit de 2 autres feuillesSI c'est ce 2ème cas :

    a) quel est le NOM de CHACUNE de ces 2 feuilles ?  ^^
    b) il faudra mettre aussi ces 2 autres feuilles dans le prochain fichier (v6.0).

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

    note importante à propos du fichier que tu joindras dans ton prochain post :

    mets ce nom de fichier : "Tableaux à compléter - v6.0" ; on pourra se dire que toutes les futures
    versions v6
     seront pour "Synthèse 2" ; plus tard, on passera à v7.# pour faire "Synthèse 3" ;
    puis encore plus tard, on passera à v8.# pour faire "Synthèse finale".

    le # est un chiffre que je choisirai plus tard, à partir de 0 ou à partir de 1 ; en principe, je mettrai
    0 pour une version que toi tu m'as passée ; sinon je mettrai 1, puis plus si besoin.  ;)

    rhodo

    rhodo Posté le 26 août 2023, 13:38
    par rhodo
    1

    @Alice ; réf. P19

    À propos des guillemets

    dans tes prochains posts, pour des noms de feuilles, mets par exemple "Synthèse 2" au lieu de
    « Synthèse 2 » ; car la notation habituelle est "Synthèse 2", comme on fait en utilisant la syntaxe
    du VBA : Worksheets("Synthèse 2").Select ; tu ne verras jamais dans un code VBA :

    Worksheets(« Synthèse 2 »).Select NI Worksheets(«Synthèse 2»).Select

    car ça causerait : Erreur d'exécution '9': L'indice n'appartient pas à la sélection.

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

    de façon plus générale : en VBA, les délimiteurs de chaînes de caractères ne sont pas ( « ) et ( » ),
    c'est ( " ) ; comme par exemple : MsgBox "Bonjour Alice, t'es en forme aujourd'hui ?"

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

    juste pour info : si on a besoin qu'un texte affiché dans une boîte de dialogue
    contienne un mot entre guillemets, on peut mettre par exemple :

    MsgBox "J'ai écrit « ceci » entre guillemets."

    et le texte affiché sera : J'ai écrit « ceci » entre guillemets.

    OU :

    MsgBox "J'ai écrit ""ceci"" entre guillemets."

    et le texte affiché sera : J'ai écrit "ceci" entre guillemets.

    oui, tu as bien lu : dans le code VBA, il faut doubler un guillemet qui est placé
    à l'intérieur d'une chaîne de caractères ; sinon, on pourrait aussi écrire :

    MsgBox "J'ai écrit " & Chr$(34) & "ceci" & Chr$(34) & " entre guillemets."

    car dans Chr$(34), le nombre 34 est le code ASCII du guillemet ( " ).

    mais avec Chr$(34), c'est plus long à écrire et à lire.  ;)

    rhodo

    rhodo Posté le 26 août 2023, 13:42
    par rhodo
    1

    Bonjour Alice,

    Lis d'abord mes 3 posts précédents réf. P17 à P19.  :)

    dans ton prochain post, n'oublie pas de joindre ton fichier "Tableaux à compléter - v6.0",
    dont tes 3 nouvelles feuilles "A faire" ; "A répartir" ; "A déléguer; avec aussi plusieurs
    données
     anonymes, afin de pouvoir vérifier les futurs résultats de ma future macro,
    qui seront écrits sur la feuille "Synthèse 2"
    .

    à te lire pour la suite.  ;)

    rhodo

    rhodo Posté le 26 août 2023, 15:45
    par rhodo
    0

    Essai d'envoi d'un message.

    Alice

    Alice Posté le 28 août 2023, 17:39
    par Alice
    0

    Bonjour Rhodo,

    Merci pour votre réponse !

    J'espère que ce message partira bien car j'ai essayé de vous répondre plusieurs fois depuis le 26 août mais sans succès :( :(.


    Ref P17 :

    En effet, pour faire la feuille « Synthèse 2 », vous n’aurez besoin de lire QUE les 2 feuilles : "A faire seul" (léger changement de nom) et "A répartir".

    Pas besoin de lire des informations d’autres feuilles.


    Ref P18 :

    D’accord :)

    Voici comment j’ai fait pour rapporter les données souhaitées dans la feuille « Synthèse 2 » du tableau ci-joint :

    https://we.tl/t-NUDnnbR8V8

    J’ai créé les 3 tableaux suivants :

    Afaireseul = tableau $B$5:$R$1000 sur la feuille « A faire seul »

    Arépartir = tableau $B$5:$R$1000 sur la feuille « A répartir »

    Adéléguer = tableau $B$5:$K$1000 sur la feuille « A déléguer »

    Ensuite, depuis la feuille « A faire seul », je suis allée dans Données / Obtenir des données / A partir d’autres sources / A partir de Tableau ou d’une Plage

    Puis je vais dans Accueil / Supprimer les lignes / Supprimer les lignes vides.

    J’ai cliqué sur Fermer et charger.

    Je fais la même chose depuis la feuille « A répartir » :

    Données / Obtenir des données / A partir d’autres sources / A partir de Tableau ou d’une Plage

    Puis je vais dans Accueil / Supprimer les lignes / Supprimer les lignes vides.

    J’ai cliqué sur « Fermer et charger ».

    J’obtiens ainsi les 2 nouvelles feuilles (que je pense masquer par la suite) qui correspondent aux 2 requêtes suivantes : « Afaireseul », « Arépartir ».

    Elles portent les noms des 2 tableaux créés.

    J’ai mis ces 2 feuilles sans couleur dans le fichier joint.


    Ensuite, depuis Requête / Modifier, j’ai sélectionné la requête « Afaireseul », je suis allée dans le ruban : Requête / Modifier

    Puis depuis l’éditeur de requêtes : Accueil / Ajouter des requêtes / Ajouter les requêtes comme étant nouvelles :

    Je sélectionne les 2 requêtes : « Afaireseul » et « Arépartir » et je valide.

    Cela crée une nouvelle requête que je renomme « Synthèse 2 ».

    Note : j’ai volontairement fait en sorte que les intitulés des colonnes soient identiques entre les 2 tableaux et requêtes correspondantes : de la colonne B à la colonne R.

    Puis je clique sur « Fermer er charger ».

    Dans la feuille et requête « Synthèse 2 » j’obtiens ainsi un tableau qui rapporte toutes les lignes issues des 2 requêtes : « Afaireseul » et « Arépartir ».


    Dans la feuille « Synthèse 2 » :

    J’ai ensuite inséré des lignes en haut du tableau afin de rapporter une ligne de Titre = ligne 1, et une ligne qui montre l’objectif = ligne 3.

    J’ai également revu la mise en forme du tableau obtenu.

    Le résultat s’actualise en cliquant sur : Données / Actualiser tout.

    Cela me semble fonctionner :)

    Les seuls points délicats pour la mise à jour seront :

    1)  Ne pas changer les noms des colonnes des tableaux sinon les requêtes dysfonctionnent :

    Afaireseul = tableau $B$5:$R$1000 sur la feuille « A faire seul »

    Arépartir = tableau $B$5:$R$1000 sur la feuille « A répartir »

    2)  Les noms de ces colonnes doivent être identiques.


    Ref P19 :

    Je vous écris mes réponses sur Word d’abord, avant des les copier-coller dans le forum.

    En effet, j’ai perdu trop de messages sur l’éditeur du forum à cause d’erreurs d’envoi :( :(

    Aussi je préfère taper mes réponses sur Word puis les coller sur le forum pour ne pas risquer de perdre mes réponses et devoir tout retaper !

    Sur Word, je ne sais pas comment faire les guillemets que vous voulez pour les noms des feuilles.

    Je ne sais que faire les guillemets suivants : « mot ». Désolée :/

    Le forum ne semble vraiment pas fonctionner. Aussi je vous donne mon émail et vous propose de continuer notre échange par emails : rdvpoursoi@gmail.com

    Merci par avance pour votre retour :)

    Alice


    Alice Posté le 28 août 2023, 17:41
    par Alice
    1

    Bonsoir Alice,

    tu as écrit : « Le forum ne semble vraiment pas fonctionner. » ; c'est bizarre, car de mon côté
    c'est ok ; tu me propose d'échanger par mail, mais je préfère continuer sur le forum.

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

    tu as écrit : « Sur Word, je ne sais pas comment faire les guillemets que vous voulez pour les
    noms des feuilles. Je ne sais que faire les guillemets suivants : « mot ». »

    au cas où dans Word tes guillemets ( " ) sont automatiquement remplacés par ( « ) et ( » ) :
    c'est fait par la correction automatique de Word ; dans ce cas, il faut faire ceci :

    menu Fichier, Options, Vérification ; côté droit, clique sur « Options de correction automatique... »
    ➯ fenêtre "Correction automatique" ; sur l'onglet "Lors de la frappe", décoche la 1ère case :

    ☐ Guillemets ' ' ou " " par des guillemets ' ' ou « »

    sur l'onglet "Mise en forme automatique", décoche la même case.

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

    pourquoi donc as-tu changé de site de partage de fichiers ?  ^^  je préfère que tu joignes
    ton fichier via cjoint.com ; c'est plus sûr pour moi, et j'y suis habitué.  :)

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

    même si je n'ai pas pu voir ton fichier, j'ai lu que tu as renommé la feuille "A faire" en
    "A faire seul" ; je t'approuve vivement : tu as très bien fait !  :)

    merci d'avoir très clairement précisé que pour faire "Synthèse 2", ça sera UNIQUEMENT
    à partir des 2 feuilles "A faire seul" et "A répartir", et qu'il n'y aura pas besoin de lire des
    informations
    d'autres feuilles.  :)

    à propos de TOUT c'que t'as écris ensuite dans « Ref P18 : » : j'le verrai plus tard,
    quand j'pourrai accéder à ton fichier sur cjoint.com.  ;)

    rhodo

    rhodo Posté le 28 août 2023, 21:29
    par rhodo
    0

    Bonjour Rhodo,

    Merci pour votre réponse.

    Voici le fichier avec un lien cjoint.com : https://www.cjoint.com/c/MHDgy7Ty3Ty

    J’avais changé de site de partage car je me demandais si mes messages partiraient mieux avec un lien différent. Mais ce n’était pas le problème ^^.

    J’avais bien pu contacter le Forum pour signaler le bog dans l’envoi de messages, et c’est super qu’ils l’aient résolu. Pourvu que cela dure :)

    A propos des guillemets : c'était bien la correction automatique sur Word qui posait problème. Merci beaucoup pour votre procédure ! :) Maintenant c'est tout bon !

    Note dans le fichier joint v6.0 :

    Les données qui remontent dans la feuille "Synthèse 2" proviennent des 2 requêtes = 2 feuilles de couleur grises : "Afaireseul" et "Arépartir", qui elles-mêmes sont issues des données extraites des 2 feuilles "A faire seul" et "A répartir".

    Merci par avance,

    Très bonne journée à vous,

    Alice

    Alice Posté le 29 août 2023, 08:43
    par Alice
    0

    Bonsoir Rhodo,

    Voici ci-joint le nouveau fichier v6.0 comme j'ai retravaillé les colonnes présentes dans la feuille en jaune pâle "A déléguer" :

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

    Je n'y ai pas pensé avant mais je me demande si ce ne serait pas mieux que toutes les colonnes des tableaux des 3 feuilles : "A faire seul", "A répartir", et "A déléguer" soient identiques pour réaliser la Synthèse finale.

    Avec évidemment des colonnes que je masquerai. Comme c'est le cas aujourd'hui entre les 2 feuilles "A faire seul" et "A répartir".

    Dans ce cas je dois encore revoir les colonnes des tableaux de ces 3 feuilles.

    Dis-moi ce que tu en penses.

    Désolée si mes modifications perturbent ton travail :(

    Alice

    Alice Posté le 29 août 2023, 18:27
    par Alice
    1

    Bonjour Alice,

    y'a un barjo qui vote -1 sur presque tous les posts ➯ ne t'en occupe pas : c'est juste
    une de ses lubies ; ça n'a vraiment aucun sens, donc il ne faut pas en tenir compte ;
    ça lui était déjà arrivé plusieurs fois dans le passé ; puis ça s'était arrêté ; je pensais
    qu'il avait enfin compris ; mais non, puisqu'il recommence son petit manège ; il ne
    s'est pas encore rendu compte que ça n'amuse que lui.  ;)  c'est p't'être un simple
    gosse
    , ou un vulgaire voyou, ou un déficient mental ?  ^^

    si je te dis ça, c'est pour que tu saches que je sais très bien que ce n'est pas toi qui a
    enlevé tous les votes +1 que tu m'avais attribués avant.  :)  et évidemment, c'est pas
    moi
    qui ai mis -1 sur tes posts.  ;)

    le jeu du barjo n'amuse que lui ; n'empêche qu'à cause de lui, la notation via les
    votes n'a plus de sens.  :(

    rhodo

    rhodo Posté le 30 août 2023, 01:24
    par rhodo
    1

    @Alice ; réf. P20

    à propos de "Synthèse 2" : j'ai regardé tout c'que t'as déjà fait ; comme c'est ok,
    je n'ai rien changé du tout.  :)

    ensuite, j'ai ajouté ces 5 feuilles : "24 forces de caractère" ; "Forces" ; "Talents" ;
    "Qualités" ; "Synthèse 3".

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

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

    (finalement, j'ai laissé le même n° de version : v6.0)

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

    à l'ouverture du fichier, tu es sur la feuille "Synthèse 2" ; va sur "Synthèse 3",
    puis vérifie tous les résultats.  :)  comme tu l'auras compris, c'est le fait de
    sélectionner "Synthèse 3
    qui actualise cette feuille.  ;)

    attention : la démo n'est pas terminée ; elle continuera plus bas.  :)

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

    juste pour info : y'a aucune MFC pour la feuille "Synthèse 3", ni directement sur
    la feuille de calcul, ni via VBA ; donc en colonne H, les couleurs (de fond et du
    texte) des données "A utiliser en priorité" sont mises « en dur » par VBA.

    attention : la macro fait aussi une mise à jour de la ligne d'en-têtes des 3
    feuilles "Forces" ; "Talents" ; "Qualités" (lignes respectives : 24 ; 22 ; 25) ;
    et cela à partir de la colonne G (puis vers la droite).

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

    attention : sur ta feuille initiale "Forces", il y avait en B53 le texte "TRANSPOSE
    tableau automatique :" ; et en dessous, le tableau TRANSPOSE ; mais comme
    ça gênait pour faire le travail demandé, j'ai supprimé TOUTES les lignes qui
    étaient SOUS la ligne 48
    ; si tu veux le même tableau TRANSPOSE, fais-le
    sur UNE NOUVELLE FEUILLE (et pas sur une des feuilles déjà présentes !).

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

    voici maintenant la suite de la démo, et tu verras que c'est très pratique !  :)

    va sur la feuille "Utile vs inutile" ; en B9:K9, pour quelques costumes que
    tu ne veux plus, choisis "A JETER".

    va sur "Synthèse 3", puis rebelotte : vérifie tous les résultats.  :)

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

    fais Alt F11 pour voir le code VBA du module de F04 (feuille "Synthèse 3") ;
    comme il fait 89 lignes, ça te fera une bonne petite lecture.  ;)

    à te lire pour avoir ton avis.  ;)

    rhodo

    rhodo Posté le 30 août 2023, 02:03
    par rhodo
    1

    Bonjour Rhodo,

    Ah oui… Effectivement il faut vraiment avoir du temps à perdre pour mettre des notations négatives sur tous les posts.

    Je pense que cette personne ne doit pas aller très bien :/.

    J'espère qu'elle apprendra à s'aimer davantage pour utiliser son temps de vie pour s'épanouir au lieu d'ennuyer les autres.

    Merci pour m'avoir prévenue :)


    Ref P20 : Ok j'attends votre prochain fichier :)

    Et je vous remercie par avance !


    Sinon je suis navrée, je me suis réveillée ce matin en me disant que je vous avais écrit n'importe quoi hier à propos de mes colonnes identiques entre les 3 feuilles : "À faire seul", " À répartir", et " À déléguer" pour la feuille "Synthèse finale" ! :(

    Désolée si je vous ai embrouillé !

    En effet, quand je reprends mon fichier complet je m'aperçois que pour obtenir les données de la feuille "Synthèse finale", seules les feuilles suivantes seront nécessaires : "Synthèse 1", "Synthèse 2", "Forces", "Talents", et "Qualités".

    Donc je pense que si le tableau de la feuille "À déléguer" n'a pas les mêmes colonnes que les feuilles "À faire seul" et "À répartir", cela n'a aucune importance :)


    Je vous souhaite une excellente journée !

    Alice

    Alice Posté le 30 août 2023, 09:25
    par Alice
    1

    @Alice ; réf. P21

    j'ai voté +1 sur ton post, pour ton commentaire sur le barjo.  ;)

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

    j'ai fini d'modifier le fichier ; j'ai mis l'nouveau lien dans P20 ; j'ai aussi
    beaucoup modifié l'texte de P20 ➯ à relire entièrement.  ;)

    (dernière édition de P20 : le 30 août à 11:56)

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

    je n'ai encore rien fait pour "Synthèse finale" : j'attends d'abord ton avis
    sur "Synthèse 3", vu qu'elle sera utilisée pour faire "Synthèse finale".

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

    excellente journée à toi aussi !  :)

    rhodo

    rhodo Posté le 30 août 2023, 12:02
    par rhodo
    1

    @Alice ; réf. P22

    tout c'qui est dans ce post est par rapport à ton ancienne feuille "Ex-Synth3",
    et pour comparer avec la feuille "Synthèse 3" de la version v6.0.

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

    tu avais en J8 le texte rouge "Check erreur" ; et en J9 cette formule :
    =SI(OU(F9=0;F9-E9=G9);"OK";"FAUX") ; formule qui est répétée sur
    d'autres lignes en dessous ; toutes ces formules retournent "OK".

    ça m'a semblé provisoire, pour un de tes tests de formules ➯ je ne l'ai pas fait
    dans mon code VBA ; mais si t'as envie que j'rajoute tout ça, dis-le moi.  :)

    dans c'cas, je le ferai, mais sans mettre de formule : ça retournera « en dur »
    le texte "OK" ou "FAUX".

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

    entre les lignes de Force et les lignes de Talent, y'avait 5 lignes vides de
    séparation (idem entre les lignes de Talent et les lignes de Qualité) ; mon
    code VBA met 3 lignes vides de séparation ; est-ce que tu aimes mieux ?
    ou tu préfères quand même 5 ? si tu préfères 5, c'est très facile à faire ;
    peut-être que tu préfères avec aucune ligne de séparation ?

    rhodo

    rhodo Posté le 30 août 2023, 21:43
    par rhodo
    1

    Bonjour Alice,

    comme ton post précédent est du 30 août à 09:25, relis entièrement
    mon post du 30 août à 02:03 car je l'ai beaucoup modifié (dernière
    édition de P20 : le 30 août à 11:56)
     ; ensuite, lis P21 et P22.

    rhodo

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

    Bonjour Rhodo,

    Je vous remercie pour vos messages et ce nouveau fichier :)
    Je prends le temps de tout relire et je vous réponds rapidement.

    Alice

    Alice Posté le 31 août 2023, 15:43
    par Alice
    1

    @Alice ; réf. P23

    1) 3 questions supplémentaires :

    1a) sur la feuille "Forces", pourquoi mets-tu les données de la colonne A
    alors qu'elles sont déjà présentes en colonne F ? je parle de "Force n°1"
    à "Force n°5" ; bien qu'en A24 il y a le texte "Pour formules (à garder) :",
    y'a aucune dépendance de formule pour les formules de la colonne A ;
    y aurait-il une liste déroulante dont la validation de données utilise c'qui
    est en colonne A ?  ;)

    1b) mêmes questions pour les talents de la feuille "Talents"

    1c) mêmes questions pour les qualités la feuille "Qualités"

    suggestion pour 1a) à 1c) : sans supprimer la colonne A,
    effacer tout c'qui se trouve dans cette colonne A.

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

    2) 2 autres questions pour la feuille "Qualités" :

    2a) pourquoi tu as mis en C26:C35 des formules qui reprennent les données
    de B26:B35 ? c'est juste pour des essais de formules ? tu vas supprimer
    ensuite la colonne C ? si oui, il faudra faire une modif dans le code VBA
    du module de F04 (feuille "Synthèse 3").

    2b) en D25, il y a "Définition" ; et c'est vide en D26:D35 ; la colonne est
    plutôt étroite ➯ c'est peut-être car tu n'y saisiras rien ? si oui, je te
    suggère de supprimer cette colonne D ; là aussi, ça entraînera une
    modif dans le code VBA de F04.

    rhodo

    rhodo Posté le 31 août 2023, 20:58
    par rhodo
    0

    Bonjour Rhodo,


    Voici enfin ma réponse !

    Désolée pour le délail.


    Ref P20 :

    Je suis sur votre dernier fichier et je suis ennuyée car les données des 3 tableaux (colonnes B à E) des 3 feuilles de couleur jaune pâle "A faire seul", "A répartir", et "A déléguer" ne se mettent pas à jour.

    Même si j'ai cliqué sur toutes les feuilles précédentes, sur crtl+d pour actualiser la macro Dispatch, et sur "Actualiser tout" sous "Données".

    Du coup derrière les tableaux des feuilles grises "Afaireseul" et "Arépartir" ne se mettent pas à jour, et par conséquence la "Synthèse 2" ne se met pas à jour non plus.

    Ai-je oublié une commande qui actualise les 3 feuilles en jaune pâle "A faire seul", "A répartir" et "A déléguer" ?


    Que signifie MFC ?

    J'imagine que cela signifie une formule simple sur Excel.


    Dans la feuille "Synthèse 3" :

    Dans la colonne H, "Force, Talent, ou Qualité à utiliser en priorité :", je ne suis pas encore certaine du chiffre adéquat à mettre pour conditionner l'apparition du texte "A utiliser en priorité".

    J'avais mis 3 mais je voudrais pouvoir modifier facilement ce chiffre qui conditionne l'apparition du texte "A utiliser en priorité".

    Du coup cela ne m'arrange pas que ce soit la macro qui apporte ces données "en dur" comme ce sera plus compliqué pour moi de modifier cette condition.


    Dans les 3 feuilles "Forces", "Talents" et "Qualités", c'est super que votre macro fasse la mise à jour des en-têtes à partir de la colonne G et vers la droite ! :)

    En effet, je vois qu'ainsi la macro remonte uniquement les costumes que les utilisateurs ont décidé de garder ! C'est important :)


    Dans la feuille "Forces" :

    En effet, j'avais créé un tableau TRANSPOSE à partir de B53 lors de mes essais pour créer la feuille "Synthèse 3".

    Vous avez bien fait de le supprimer.


    Ref P21 :

    Oui vous avez bien fait de ne pas faire la feuille "Synthèse finale". Autant déjà que tout fonctionne en amont :)


    Ref P22 :

    Oui vous avez bien fait de supprimer les formules que j'avais mises dans la colonne J => je n'en ai pas besoin dans la macro non plus.

    J'avais juste copié quelques lignes de données en exemple en dur à partir de la ligne 9. Et j'avais mis des lignes vides de séparation juste pour que visuellement ce soit plus facile.

    Je préfère qu'il n'y ai aucune ligne de séparation. Juste la succession de toutes les forces, puis tous les talents, et enfin toutes les qualités. Merci :)


    Ref P23 :

    1a) J'ai supprimé ce qui était dans la colonne A.

    Ces formules faisaient partie de mes tests pour créer la "Synthèse 3" :)

    La liste déroulante qui sert pour la colonne F, à partir de la cellule F25 est basée sur la liste B8:B13 qui est masquée.

    1b) et 1c) Idem 1a)

    => je suis d'accord. J'ai supprimé tout ce qu'il y avait dans cette colonne A :).

    Note : j'ai fait en sorte que les 3 tableaux de ces feuilles "Forces", "Talents" et "Qualités" commencent en ligne 22.

    Ces changements ont fait bugger votre macro :(

    2a) et 2b) En fait, j'avais créé la colonne C pour que la cellule "Utilité de cette force de caractère entre 1 (peu utile) et 10 (essentielle) pour atteindre mon objectif actuel ?" soit située en colonne E dans les 3 feuilles "Forces", "Talents" et "Qualités" car je pensais pouvoir faire une requête.

    Donc oui c'était durant mes essais :')

    Dans le nouveau fichier que je vous joins j'ai supprimé la colonne C et je laisse la nouvelle colonne C qui montrera la définition quand je les aurai écrites :)


    Ref P24 :

    Voici ci-joint le nouveau fichier avec quelques modifications que j'ai faites de mon côté (en espérant qu'elles ne vous embêtent pas trop) :

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


    Feuille "Objectif SMARTER" :

    J'ai ajouté les 3 lignes 8, 9 et 10 = A8:H10, afin d'y écrire plus tard un exemple qui aidera les utilisateurs.


    Feuille "Liste costumes actuels" :

    J'ai ajouté une liste déroulante entre 0 et 10 entre B8:K8 => pour faciliter le remplissage du tableau pour les futurs utilisateurs.


    Feuille "Utile vs inutile" :

    J'ai ajouté une liste déroulante entre 0 et 10 entre B8:K8 => pour faciliter le remplissage du tableau pour les futurs utilisateurs.


    Feuilles " 24 forces de caractère" :

    J'ai seulement revu légèrement la mise en forme.


    Feuille "Forces" :

    J'ai ajouté une liste déroulante entre C25:C48 => pour faciliter le remplissage du tableau pour les futurs utilisateurs.

    J'ai supprimé la liste déroulante qui servait pour noter entre 1 et 10.

    J'ai laissé la liste déroulante entre B7:B13 pour les Forces.


    Feuille "Talents" :

    J'ai supprimé la liste déroulante qui servait pour noter entre 1 et 10.

    J'ai laissé la liste déroulante entre B5:B11 pour les Talents.


    Feuille "Qualités" :

    J'ai supprimé la liste déroulante qui servait pour noter entre 1 et 10.

    J'ai laissé la liste déroulante entre B8:B14 pour les Qualités.


    Ref P25 :

    Feuille "Synthèse 3" :

    J'avais mis en colonne A : les numéros de Forces, Talents et Qualités lorsque je faisais mes essais.

    Mais si c'est possible cela me semblerait mieux que ces données apparaissent dans une colonne à droite de la colonne C "Nom du costume".

    Cela permet de laisser libre la colonne A.

    J'ai ajouté des lignes au-dessus du tableau dans le cas où j'ai besoin d'y écrire d'autres consignes mais j'ai tout fait planter :/

    Pourriez-vous faire en sorte que les en-têtes des colonnes suivantes soient bien positionnées à la ligne 22 ? :

    Colonne B = "Costume n°"

    Colonne C = "Nom du costume"

    Colonne D = "Par ordre d'importance (forces, talents, qualités)" => colonne qui rapporte les données qui remontaient avant dans la colonne A => "Force n°1", "Force n°2", etc.

    Colonne E = "5 forces de caractère, 5 talents, et 5 qualités essentiels à conserver ou développer / objectif visé"

    Colonne F = "Niveau actuel sur 10"

    Colonne G = "Note à obtenir sur 10 pour atteindre votre objectif (si 0 = pas de lien avec l'objectif pour ce rôle)"

    Colonne H = "Points à gagner (si vide = conserver le niveau actuel)"

    Colonne I = "Force, Talent, ou Qualité à utiliser en priorité :"


    Merci beaucoup par avance.

    Je vérifierai en parallèle la structure de la feuille "Synthèse finale" que j'aimerais (si elle change / fichier que je vous avais envoyé).


    Je vous souhaite une excellente journée :)


    Alice

    Alice Posté le 1 septembre 2023, 09:55
    par Alice
    1

    @Alice ; réf. P26

    tu as écrit : « Que signifie MFC ? »

    c'est les initiales de Mise en Forme Conditionnelle ; regarde l'onglet Accueil,
    groupe Styles, commande Mise en forme conditionnelle.

    ça permet de mettre une mise en forme selon une condition ; exemple : texte jaune
    et gras sur fond rouge foncé si la cellule contient : "Alice veut une augmentation de
    salaire, une promotion, des actions du CAC 40, et un parachute doré !"  ;D

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

    dans ton Réf. P23, tu as écrit : « Note : j'ai fait en sorte que les 3 tableaux de ces feuilles
    "Forces", "Talents" et "Qualités" commencent en ligne 22. Ces changements ont fait
    bugger votre macro  :( »

    dans ton Réf. P25, tu as écrit : « J'ai ajouté des lignes au-dessus du tableau dans
    le cas où j'ai besoin d'y écrire d'autres consignes mais j'ai tout fait planter. :/ »

    oui, tout ça est normal.  ;)  sur une feuille de calcul Excel, quand tu supprimes une ligne
    ou une colonne, les formules d'à-côté s'adaptent automatiquement (c'est pas toujours
    le cas, car des fois, ça cause des #REF!)
    ; en VBA, y'a pas d'adaptation automatique
    de ce genre, sauf si ça a été prévu par le programmeur VBA ; exemple : détection
    de la dernière ligne utilisée
    pour prendre en compte toutes les lignes d'un tableau
    (même si le nombre de lignes est variable)
    .

    rhodo

    rhodo Posté le 1 septembre 2023, 23:54
    par rhodo
    1

    @Alice ; réf. P27

    à propos de ton Réf. P20 : tu parles de mise à jour qui ne se fait pas pour
    les 3 feuilles "A faire seul" ; "A répartir" ; "A déléguer" ; j'ai pas compris,
    car de toute façon, moi, je n'ai rien changé !  ;)  j'avais bien écrit ceci :

    « à propos de "Synthèse 2" : j'ai regardé tout c'que t'as déjà fait ; comme
    c'est ok, je n'ai rien changé du tout.  :) »

    sur une ancienne version, c'est en utilisant les requêtes et l'actualisation
    des données
    que tu mettais à jour ; pourquoi ça ne le fait plus alors que
    j'ai touché à rien de c'qui concerne "Synthèse 2" ? mystère !  ^^

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

    en fait, j'ai préféré éviter de toucher à c'que t'as fait pour "Synthèse 2",
    car toi tu as utilisé des requêtes pour le faire ; or soit on le fait par des
    requêtes comme tu l'as fait, soit on utilise un code VBA pour le faire,
    mais pas les deux à la fois !  ;)

    à la fin de ton post du 25 août à 18:29, tu as écrit :

    « J’arrive à créer la feuille "Synthèse 2" grâce à une requête qui additionne
    les lignes des feuilles "A porter seul" et "A partager", en supprimant les
    lignes vides. En passant par 2 feuilles intermédiaires. Ce n’est pas idéal
    mais cela fonctionne je crois. »

    alors bon, j'me suis dit que c'que t'as fait est bon, et que ça t'convient.  :)

    rhodo

    rhodo Posté le 2 septembre 2023, 01:24
    par rhodo
    1

    @Alice ; réf. P28

    voici la version v6.2https://www.cjoint.com/c/MIecE6N6rP0

    vérifie d'abord les 3 feuilles "Forces" ; "Talents" ; "Qualités" ;
    ensuite, sélectionne la feuille "Synthèse 3", puis vérifie tous
    les résultats
    .  :)

    dessus, tu vas découvrir une petite nouveauté.  ;)  voici un
    indice : ne tape pas le texte entier, seulement le chiffre.

    ça fait une mise à jour automatique en dessous, mais pour
    la voir, tu devras faire défiler ta feuille loin vers le bas.  ;)

    code VBA de F04 (feuille "Synthèse 3") : 114 lignes.

    à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 2 septembre 2023, 08:32
    par rhodo
    1

    @Alice ; réf. P29

    voici la version v6.3https://www.cjoint.com/c/MIecQB6F8Y0

    c'est v6.2, avec ces 2 feuilles en moins : "Afaireseul" et "Arépartir" ; c'est
    normal, car j'ai supprimé TOUT c'que t'avais fait pour "Synthèse 2" :

    adieu tes 2 beaux tableaux structurés "Afaireseul_2" et "Arépartir_2" ; adieu
    tes belles requêtes (avec ou sans actualisation des données) ; adieu tes 2
    feuilles "Afaireseul" et "Arépartir" ; adieu veau, vache, cochon, couvée...

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

    regarde la feuille "A faire seul" : j'ai un peu amélioré la présentation ;
    idem pour les 2 autres feuilles "A répartir" et "A déléguer".

    sélectionne la feuille "Synthèse 2", puis vérifie tous les résultats.  :)

    code VBA de E04 (feuille "Synthèse 2") : 59 lignes.

    à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 4 septembre 2023, 02:10
    par rhodo
    1

    Bonjour Alice,

    Lis d'abord mes 4 posts réf. P26 à P29.

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

    dans ton post du 29 août à 08:43, il y a ton fichier joint v6.0 ; J'AVAIS MANQUÉ
    ton post du 29 août à 18:27 !  :(  y'a un fichier joint qui est une 2ème version du
    fichier précédent, mais avec le même n° de version : v6.0.

    * dans v6.0 n° 1, feuille "A déléguer" : colonnes B à K.

    * dans v6.0 n° 2, feuille "A déléguer" : colonnes B à O.

    tu as donc ajouté 4 colonnes.

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

    dans P28 et P29, y'avait un lien cjoint pour un fichier 6.# alors que je n'avais pas
    déjà vu que tu avais modifié la feuille "A déléguer" ➯ j'ai supprimé les 2 liens,
    car mes 2 fichiers contenaient ton ANCIENNE feuille "A déléguer".

    dans mes 2 fichiers, j'ai REMPLACÉ l'ANCIENNE feuille "A déléguer" par ta
    NOUVELLE feuille "A déléguer" ➯ y'a les colonnes B à O.  :)

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

    je n'ai pas fait d'autres changements ; le code VBA est resté le même : y'a pas
    eu besoin de le modifier, car mon code VBA n'utilise pas la feuille "A déléguer" ;
    dans ce paragraphe, « code VBA » est au sens large : c'est celui de TOUS les
    modules
     (pas d'un seul module en particulier)
    .

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

    dans P28 et P29, j'ai REMPLACÉ les 2 ANCIENS liens par 2 NOUVEAUX liens,
    qui mènent aux 2 fichiers contenant la NOUVELLE feuille "A déléguer".

    comme c'est juste un changement d'une feuille qui n'a AUCUNE incidence
    sur le reste
    , j'ai laissé les mêmes numéros de version : v6.2 et v6.3.

    v6.2 est pour "Synthèse 3" ; v6.3 est pour "Synthèse 2" « à ma sauce ».

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

    tu devras me dire si tu préfères v6.2 ou v6.3, car SELON ta réponse, je ferai
    "Synthèse finale" À PARTIR DE la version que tu auras choisie.  ;)

    mais d'abord, je m'occuperai de ce que tu vas écrire dans ton prochain post
    concernant tout ce qui a déjà été fait pour "Synthèse 3" et "Synthèse 2".  :)

    rhodo

    rhodo Posté le 4 septembre 2023, 06:02
    par rhodo
    0

    Bonjour Rhodo,

    Merci mille fois pour votre réponse ! :)

    Je suis en train de regarder tout cela et je reviens vite vers vous.

    Alice

    Alice Posté le 4 septembre 2023, 10:38
    par Alice
    0

    Bonjour Rhodo,


    Ref P27 :

    Alors j'ai compris pourquoi la mise à jour ne se faisait pas ! :'(

    C'est parce que je n'avais pas fait de lien entre les 2 feuilles "A porter seul" et "A faire seul", et idem entre les feuilles "A partager" et "A répartir".

    J'avais oublié que j'avais copié-collé en dur les données :(.

    Alors que je veux que les données qui sont dans les colonnes B à E des 3 feuilles "A porter seul", "A partager" et "A déléguer" soient automatiquement copiées dans les colonnes B à E des 3 feuilles respectives "A faire seul", "A répartir" et "A déléguer" => colonnes de couleur vertes.

    Sans devoir faire un copier-coller manuel des données.

    J'ai essayé de rapporter les données par ces formules dans la feuille "A faire seul" par exemple :

    En B6 : =SI('A porter seul'!B6<>"";'A porter seul'!B6;"")

    En C6 : =SI('A porter seul'!C6<>"";'A porter seul'!C6;"")

    En D6 : =SI('A porter seul'!D6<>"";'A porter seul'!D6;"")

    En E6 : =SI('A porter seul'!E6<>"";'A porter seul'!E6;"")

    Mais dès que je fais un changement, puis que j'actualise la macro, la formule saute et ne fonctionne plus.

    Mystère résolu donc / mise à jour qui ne se faisait pas :)

    Mais solution non encore trouvée pour insérer automatiquement les données des tableaux des 3 feuilles "A porter seul", "A partager" et "A déléguer" dans les 3 feuilles respectives "A faire seul", "A répartir" et "A déléguer".


    Ref P28 :

    Feuille "Synthèse 3" :

    C'est super de pouvoir modifier le seuil de la formule employée pour la colonne I ! :)

    Merci bcp ! :)


    Voici mon retour sur la version v6.3 qui est celle que je préfère :


    Ref P30 :

    Voici le 1er problème que je rencontre dans les 3 feuilles "A faire seul", "A répartir" et "A déléguer" :

    Les données des colonnes B à E ne se mettent pas à jour = colonnes de couleur verte.

    Du coup, les données de la feuille "Synthèse 2" ne se mettent pas à jour pour les colonnes B à E.

    Mais cela fonctionne bien pour les colonnes F à O qui se mettent parfaitement à jour ! :)

    J'ai essayé de palier à cela en mettant des formules (cf. plus haut) dans les 3 feuilles "A faire seul", "A répartir" et "A déléguer", pour aller rechercher les données des 3 feuilles correspondantes : "A porter seul", "A partager" et "A donner".

    Mais ces formules sautent dès que j'actualise la macro Dispatch.

    Auriez-vous une solution pour rapporter automatiquement ces données ?


    Ref P31 : problème de mise à jour

    Dans les 3 feuilles "Forces", "Talents", et "Qualités" :

    Si je jette 1 ou des costumes depuis la feuille "Utile vs inutile" (ligne 9), puis je clique sur "Actualiser tout", puis je clique dans chaque feuille jusqu'à arriver dans ces 3 feuilles => les noms des costumes gardés ne se mettent pas à jour dans ces 3 feuilles en : G23:P23, Q23:Z23, et AA23:AJ23.

    Mais, si je clique ensuite sur la feuille "Synthèse 3", et que je reviens sur les 3 feuilles "Forces", "Talents", et "Qualités" => alors cela se met à jour.

    Dois-je me noter qu'il faudra que les utilisateurs aillent d'abord dans la feuille "Synthèse 3" AVANT d'aller compléter les tableaux des 3 feuilles "Forces", "Talents", et "Qualités" ?

    Ou est-il possible que les noms des costumes se mettent à jour dès qu'ils vont sur chacune de ces 3 feuilles ?


    Ref P32 :

    Dans les 3 feuilles "Forces", "Talents", et "Qualités" :

    J'ai mis la liste : "1;2;3;4;5;6;7;8;9;10" en validation des données pour les colonnes E = "Utilité de cette qualité entre 1 (peu utile) et 10 (essentielle) pour atteindre mon objectif ?" de ces 3 feuilles.


    Ref P33 :

    Dans la feuille "Synthèse 3" :

    Les costumes se mettent bien à jour selon ceux qui ont été gardés ou jetés dans la feuille " Utile vs inutile", mais les données remontées ne correspondent pas à celles des costumes attendus.

    =>  Sauf si je vais sur la feuille "Synthèse 3" puis je retourne sur les 3 feuilles "Forces", "Talents", et "Qualités" et je reviens sur la feuille "Synthèse 3".


    Ref P34 :

    Quand j'essaie d'enregistrer le fichier Excel, j'ai le message d'avertissement suivant :

    "Attention ! Certaines parties de votre document peuvent renfermer des informations personnelles qui ne peuvent pas être supprimées par l'Inspecteur de document."

    =>  Qu'est-ce que cela signifie ?


    Ref P35 :

    Dans les 3 feuilles "Forces", "Talents", et "Qualités" :

    J'ai remis en colonne A le rappel de la colonne qui indique le numéro de la force/talent/qualité pour pouvoir reporter ces 5 Forces, Talents et Qualités dans le tableau C10:E14 dans la feuille "Synthèse finale".


    Ref P36 :

    J'ai ajouté la feuille "Synthèse finale" telle que j'aimerais la voir = structure.

    J'ai revu l'ordre des colonnes souhaitées, et j'ai précisé en rouge la source des données.

    J'ai remis les formules (recherchev) pour rapporter les données du tableau C10:E14 qui rapportent les 5 principales Forces, Talents et Qualités à développer.

    Voici la version avec ces petites modifications :

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


    Je vous remercie par avance pour votre aide,

    Je vous souhaite une excellente après-midi !

    Alice


    Alice Posté le 4 septembre 2023, 15:24
    par Alice
    1

    @Alice ; réf. P37

    pour ton P34 : pour ne plus avoir le message d'avertissement mentionné,
    voici comment faire (selon ma version d'Excel 2021) :

    menu Fichier, Options, Centre de gestion de la confidentialité ; côté droit,
    clique sur "Paramètres du Centre de gestion de la confidentialité..." ;
    côté gauche, choisis "Options de confidentialité" ; côté droit, décoche :

    ☑ Supprimer les informations personnelles des propriétés du fichier
    lors de l'enregistrement.

    en bas, clique sur le bouton "OK" ➯ retour à la fenêtre précédente ;
    appuie sur la touche Echap ; c'est fait : y'aura plus ton message
    d'avertissement lors du prochain enregistrement.  :)

    pour plus d'infos, voir ce lien.

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

    pour ton P28 : je m'disais bien que le Seuil (en i20) te plairait.  ;)

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

    pour le fichier de mon post P29 : j'suis bien content qu'tu as choisi
    la version v6.3 !  :)  pour moi aussi, c'est ma version préférée !  :)

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

    pour ton P27 et ton P30 : tout est réglé dans la version v6.4 de P38 ;
    pour ton P31 : tout est réglé dans la version v6.5 de P39.  :)

    rhodo

    rhodo Posté le 4 septembre 2023, 23:15
    par rhodo
    1

    @Alice ; réf. P38

    voici la version v6.4https://www.cjoint.com/c/MIevTv6WHL0

    sur "A faire seul" : c'est vide sous les en-têtes verts ; idem pour "A répartir"
    et "A déléguer" ; va sur "Synthèse 2" : ça a rempli ce qu'il faut, et pour faire
    ce job, ça a commencé par recopier les données adéquates des colonnes
    B:E (celles des 3 feuilles de résultats de "Préciser et trier") ; pour le voir,
    va sur chacune des feuilles "A faire seul" ; "A répartir" ; "A déléguer".

    code VBA de E04 (feuille "Synthèse 2") : 75 lignes.

    rhodo

    rhodo Posté le 4 septembre 2023, 23:57
    par rhodo
    1

    @Alice ; réf. P39

    voici la version v6.5https://www.cjoint.com/c/MIexAMC4mA0

    sur la feuille "Utile vs inutile" : choisis des costumes à garder ou à jeter ;
    ensuite, va vérifier les en-têtes de la ligne 23 des 3 feuilles "Forces" ;
    "Talents" ; "Qualités" (fais plusieurs essais différents).

    code VBA de F01 : 15 lignes ; idem pour F02 et F03 ; pour F01 et F02,
    c'est le même code VBA ; celui de F03 est un peu différent.  ;)

    rhodo

    rhodo Posté le 5 septembre 2023, 01:36
    par rhodo
    1

    @Alice ; réf. P40

    pour ton P33 : d'après moi, le problème que tu as mentionné a été réglé
    par la version v6.4 ; comme les modifs de v6.4 sont dans v6.5, ça doit
    être réglé aussi dans v6.5 ; à toi de vérifier.  :)

    pour ton P35 et ton P36, qui concernent tous deux "Synthèse finale",
    je verrai ça une autre fois !  ;)  et ce sera après ta future réponse ;
    bien sûr, j'ai fait v6.4 à partir de ton fichier du lien cjoint de P36.

    rhodo

    rhodo Posté le 5 septembre 2023, 01:52
    par rhodo
    1

    Bonjour Alice,

    Lis d'abord mes 4 posts réf. P37 à P40.

    dans tes posts précédents, t'as souvent dit qu'tu fais Données / Actualiser tout ;
    j'comprends bien qu't'en as pris l'habitude, pour actualiser tes requêtes, mais
    ça marche uniquement pour les requêtes, justement !  :D  ça ne marche pas
    pour les macros que j'fais en VBA !  :D

    rhodo

    rhodo Posté le 5 septembre 2023, 02:08
    par rhodo
    0

    Bonjour Rhodo,

    Merci pour vos réponses rapides ! :)


    Ref P37 :

    Parfait j'ai suivi vos instructions (toujours très claires !) et c'est tout bon je n'ai plus ce message à l'enregistrement.


    Mes réponses en regardant votre version v6.5 :

    Ref P38 :

    Quand je modifie le tableau dans la feuille "Préciser et trier", puis je clique sur crtl+d, puis je vais sur les feuilles suivantes (dans cet ordre) :

    "A porter seul", "A partager", "A donner", "Synthèse 2", "A faire seul", "A répartir" et "A déléguer" => alors les données se mettent désormais bien à jour dans les colonnes B à E ! :)

    C'est super ! :)

    Je me note qu'il faudra que je dise aux futurs utilisateurs de cliquer d'abord dans la feuille "Synthèse 2" avant d'aller compléter les tableaux des 3 feuilles "A faire seul", "A répartir" et "A déléguer" (à partir de la colonne F).


    Ref P39 :

    J'ai fait plusieurs essais en choisissant de garder ou de jeter différents costumes : les données se mettent bien à jour et cela dans toutes les feuilles :)

    Merciii ! :)


    Ref P41 :

    Question de mises à jour :

    Sinon je comprends que dans votre fichier v6.5, comme il n'y a plus de requête, je n'ai pas besoin de cliquer sur Données / Actualiser tout.


    En conclusion, je me suis noté de dire aux futurs utilisateurs que pour mettre à jour les données dans cette version v6.5, il faut respecter les 4 règles suivantes :

    1)  Cliquer sur les 2 feuilles "Costumes à jeter" et "Synthèse 1" pour qu'elles s'actualisent et que les feuilles suivantes soient actualisées :

    Avertir les utilisateurs qu’ils doivent sélectionner ces 2 feuilles, "Costumes à jeter" et "Synthèse 1", s’ils veulent que les données soient mises à jour dans ces 2 feuilles, mais aussi dans les feuilles suivantes : « Préciser et trier », etc.

    Avant de lancer la macro Dispatch en cliquant sur ctrl + d => il faut cliquer sur les onglets "Costumes à jeter" et "Synthèse 1" afin qu’ils s’actualisent.

    2)  Cliquer sur ctrl + b => pour basculer "Avec" ou "Sans"

    3)  Une fois le tableau de la feuille "Préciser et trier" complété, cliquer sur ctrl + d pour actualiser les 3 feuilles "A porter seul", "A partager" et "A donner".

    4)  Aller d'abord sur la feuille "Synthèse 2" avant d'aller sur les 3 feuilles "A faire seul", "A répartir" et "A déléguer", pour actualiser les colonnes B à E de ces 3 feuilles.

    ET il ne faudra pas toucher à la structure du fichier. Qu'il faudra verrouiller pour plus de sûreté :).

    Ma compréhension est-elle juste ?

    Je n'oublie rien ?


    Merci encore pour votre aide,

    Très belle journée à vous,

    Alice

    Alice Posté le 5 septembre 2023, 08:36
    par Alice
    1

    @Alice ; réf. P42

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

    1) pour ton P38 :

    a) quand tu fais Ctrl d (depuis n'importe quelle feuille du classeur), ça lance
    la macro Dispatch ; celle-ci répartit les données de "Préciser et trier" sur
    les 3 feuilles de résultats "A porter seul" ; "A partager" ; "A donner" ➯
    ces 3 feuilles sont actualisées par Ctrl d.

    b) c'est quand tu sélectionnes "Synthèse 2" que ça actualise d'abord les
    3 feuilles "A faire seul" ; "A répartir" ; "A déléguer" (à partir des feuilles
    de résultats de Ctrl d)
    ; ensuite, ça actualise "Synthèse 2".

    c) tu as écrit : « Je me note qu'il faudra que je dise aux futurs utilisateurs
    de sélectionner d'abord la feuille "Synthèse 2" AVANT d'aller compléter
    les tableaux des 3 feuilles "A faire seul", "A répartir" et "A déléguer"
    (à partir de la colonne F)
    . » ; exact, mais ça va changer dans v6.6.

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

    2) pour ton P41 :

    tout c'que t'as écrit est exact, mais ça va changer dans v6.6.

    rhodo

    rhodo Posté le 5 septembre 2023, 17:48
    par rhodo
    1

    @Alice ; réf. P43

    voici la version v6.6https://www.cjoint.com/c/MIfuRDlFAf0

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

    edit de 23:10 (qui est par rapport à ma première version de v6.6) :

    j'ai mis un nouveau lien cjoint ; j'ai modifié uniquement le code VBA de E04 (feuille "Synthèse 2") :
    j'ai optimisé les 2 subs Job1() et Job2() ; notez qu'il n'y a plus qu'une seule variable globale : T2 ;
    dans Worksheet_Activate() de E04 : j'avais mal agencé quelque chose ; c'est maintenant réparé ;
    notez que ce nouvel agencement fait que j'ai déplacé plus haut l'effacement des anciens résultats,
    et qu'il n'y a plus qu'un seul test « If n3 = 0 Then Exit Sub » (avant, il y en avait 2) ; d'autre part,
    il y a plus de commentaires (ils sont en vert) ; tout ça ne change rien au mode d'emploi indiqué par
    la démo ; pour ceux qui avaient déjà téléchargé l'ancienne version v6.6 : vous devez télécharger
    de nouveau le fichier pour bénéficier des améliorations.  :)

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

    début de la démo (pour bien tout comprendre, suivre très soigneusement toutes les étapes) :

    * sur la feuille "A faire seul", note que c'est vide sous les en-têtes verts.

    * va sur "A répartir" ; idem : c'est vide sous les en-têtes verts.

    * va sur "A déléguer" ; idem : c'est vide sous les en-têtes verts.

    * va sur "Synthèse 2" ; idem : c'est vide sous les en-têtes verts.

    * fais Ctrl r ; lis le message de la boîte de dialogue ; ferme cette boîte de dialogue : appui sur la
    touche Espace ou sur la touche Echap, ou clic sur le bouton "OK", ou clic sur la croix du coin
    supérieur droit.

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

    * va sur "A faire seul" ; tout ce que tu as déjà vu plus haut n'a pas changé.

    * fais Ctrl r ; c'est ça qui actualise les 3 feuilles "A faire seul" ; "A répartir" ; "A déléguer" (à partir
    des 3 feuilles de résultats de Ctrl d : "A porter seul" ; "A partager" ; "A donner")
     ➯ vérifie que
    c'est bien actualisé et correct sur "A faire seul" ; "A répartir" ; "A déléguer".

    NOTE TRÈS IMPORTANTE :

    j'aurais pu faire en sorte que ce report soit fait AUTOMATIQUEMENT, juste en sélectionnant la
    feuille "A faire seul" ➯ pas besoin de faire Ctrl rpourquoi je ne l'ai pas fait ? a) si l'utilisateur
    déjà saisi des données sous les en-têtes jaunes, alors très probablement, il pourrait ne plus
    y avoir une bonne correspondance entre ces données et les nouvelles données reportées ;
    b) vu que ce n'est pas automatique, y'a ce très gros avantage : l'utilisateur peut encore voir
    toutes les anciennes données
    qu'il avait éventuellement saisies auparavant AVANT de
    décider de faire ou non Ctrl r ; mais si, APRÈS avoir fait Ctrl r, il reste à droite des données
    qui ne sont plus en correspondance, ce sera à la charge de l'utilisateur de les effacer
    manuellement
    OU de les déplacer sur les bonnes lignes.

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

    * sélectionne la feuille "Synthèse 2" ; c'est cela qui actualise "Synthèse 2" ; mais contrairement
    à v6.5, ça ne fait plus le report de 3 feuilles vu qu'il a déjà été fait par Ctrl r.

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

    fin de la démo ; j'ai fait aucun autre changement dans v6.6tout le reste est identique à v6.5 ;
    bien sûr, c'que tu viens d'voir dans la démo a été fait par un code VBA modifié.

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

    à propos du code VBA :

    * j'ai renommé "Module1" en "M01_BascAS_Dispatch" ; code inchangé ; il fait toujours 66 lignes.

    * j'ai ajouté un 2ème module « standard » (= classique), que j'ai appelé "M02_Report" ; 24 lignes.

    * code VBA de E04 (feuille "Synthèse 2") : il fait maintenant 61 lignes.

    fais Alt F11, puis regarde les 2 modules qui sont déjà ouverts.

    rhodo

    rhodo Posté le 5 septembre 2023, 19:13
    par rhodo
    1

    @Alice ; réf. P44

    pour la version v6.6, voilà ce que tu pourras dire aux utilisateurs à propos de la mise à jour
    des données
    :

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

    1) Sur la feuille "Utile vs inutile" : remplir toutes les infos, dont celles de la ligne 9 "A GARDER"
    ou "A JETER" ; c'est selon les infos de cette ligne 9 que :

    a) Quand on sélectionne la feuille "Costumes à jeter", ça actualise sur cette feuille B6:K7.

    b) Quand on sélectionne la feuille "Synthèse 1", ça actualise sur cette feuille B6:K19.

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

    2) Une fois le tableau de la feuille "Préciser et trier" complété, faire Ctrl + d pour actualiser
    les 3 feuilles "A porter seul", "A partager" et "A donner".

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

    3) Aller sur la feuille "A faire seul" ; faire Ctrl r pour actualiser les données de cette feuille ET
    des 2 feuilles à droite : ça fait un report des données de "A porter seul" sur "A faire seul" ;
    de "A partager" sur "A répartir" ; et de "A donner" sur "A déléguer" ; mais attention : SOUS
    les en-têtes jaunes, s'il y a d'anciennes données que vous aviez déjà saisies auparavant :
    elles ne seront pas effacées, mais elles ne seront probablement plus en correspondance
    avec les nouvelles données reportées ; vous devrez alors choisir d'effacer ces anciennes
    données
     OU de les déplacer sur les lignes pour lesquelles il y a une bonne correspondance
    avec les données situées SOUS les en-têtes verts.

    4) Quand vous aurez fini de compléter entièrement les feuilles "A faire seul" ; "A répartir" ;
    "A déléguer" : sélectionnez la feuille "Synthèse 2" ; c'est cela qui actualise cette feuille,
    selon les infos des 2 feuilles "A faire seul" et "A répartir" ; note : la feuille "A déléguer"
    n'est pas lue lors de cette mise à jour, car "Synthèse 2" = "A faire seul" + "A répartir".

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

    5) Quand on sélectionne la feuille "Forces", ça actualise sur cette feuille G23:AJ23 (*).

    6) Quand on sélectionne la feuille "Talents", ça actualise sur cette feuille G23:AJ23 (*).

    7) Quand on sélectionne la feuille "Qualités", ça actualise sur cette feuille F23:Ai23 (*).

    (*) selon les costumes gardés, d'après "Utile vs inutile" (plage B9:K9).

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

    8) Quand on sélectionne la feuille "Synthèse 3", ça actualise cette feuille, selon les infos des
    3 feuilles "Forces" ; "Talents" ; "Qualités" ; la colonne aussi est mise à jour (SOUS la ligne
    22)
    , selon le Seuil de i20.

    9) Quand on modifie le Seuil de i20 : a) saisir UN SEUL chiffre, PAS le texte complet.
    b) ça actualise les données situées SOUS i22.

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

    10) Quand on sélectionne la feuille "Synthèse finale", ça actualise cette feuille, selon les infos
    de "Forces" ; "Talents" ; "Qualités" (pour C11:E15) ; pour les données situées SOUS la ligne 22 :
    c'est selon "Synthèse 2", SAUF en colonne D : c'est selon "Liste costumes actuels" (ligne 6).

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

    notes pour Alice :

    * le point 9) est p't'être seulement pour toi ➯ pas pour les utilisateurs ; je dis ça car il me semble
    bien que toi seule peut décider du Seuil à mettre.  :)  par contre, rien n'empêche un utilisateur
    de modifier lui-même le Seuil.  ;)  suggestion : tu préviens tes utilisateurs que s'ils modifient
    eux-mêmes le Seuil, tu baisseras leur note globale de moitié !  :D

    * le point 10) sera dans la prochaine version v7.0 ; pour la colonne D, ça doit obligatoirement
    être fait depuis "Liste costumes actuels" et PAS depuis "Synthèse 1" ! pourquoi ça ? car sur
    "Synthèse 1", la colonne varie selon les costumes gardés ou non ; alors que la colonne est
    fixe sur "Liste costumes actuels".

    rhodo

    rhodo Posté le 5 septembre 2023, 21:00
    par rhodo
    1

    @Alice ; réf. P45

    attention : j'ai remplacé le lien cjoint de P43 par un autre ; si tu avais déjà téléchargé le fichier
    avant 23:10, tu dois le télécharger de nouveau ; la raison est indiquée dans le « edit » de P43 :
    à lire entièrement.

    la démo reste inchangée, mais si tu avais déjà fait des tests : désolé, car c'est à refaire.  ;)

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

    perso, je préfère v6.6, car ça évite de devoir sélectionner la feuille "Synthèse 2" afin de
    mettre à jour les 3 feuilles "A faire seul" ; "A répartir" ; "A déléguer" (selon les 3 autres
    feuilles "A porter seul" ; "A partager" ; "A donner").

    attention : sur la feuille "A faire seul", il ne faudra pas oublier de faire Ctrl r !

    rhodo

    rhodo Posté le 5 septembre 2023, 23:24
    par rhodo
    1

    @Alice ; réf. P46

    à propos de nos références de posts :

    * pour mes références, je vais continuer pareil : utiliser la lettre « P » comme dans « P46 »
    (j'ai choisi P car c'est l'initiale du mot « Post »).

    * pour tes références, je préfère que tu utilises la lettre « R », initiale du mot « Référence » ;
    ainsi, quand tu écriras « Ref R1 » (tu peux numéroter à partir de 1), ça m'évitera de devoir
    écrire comme je faisais avant : « pour ton P38 » ou « pour ton P41 » : je pourrai écrire plus
    simplement
     : « pour R1 » ; et pour toi et moi, la lettre indiquera d'emblée que le post
    mentionné
     est un des tiens ou un des miens : ça sera plus facile de s'y retrouver,
    n'est-ce pas ?  ;)

    quand au début de ce sujet j'avais noté que j'allais mettre des références de posts dans
    le style de « réf. P01 », je n'avais pas du tout pensé, à ce moment-là, que tu allais
    m'imiter !
     
    LOLLL !!!!!   :D

    rhodo

    rhodo Posté le 6 septembre 2023, 01:43
    par rhodo
    1

    @Alice ; réf. P47

    voici la version v7.0 : https://www.cjoint.com/c/MIggFXU2eo0

    c'est v6.6, avec "Synthèse finaleentièrement terminé.  :)

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

    * à l'ouverture du fichier, tu es déjà sur la feuille "Synthèse finale".

    * note que C11:E15 est vide, car j'ai supprimé toutes tes formules.

    * fais défiler la feuille vers le bas : tu pourras vérifier que c'est vide
    SOUS la ligne 22 des en-têtes.

    * remonte tout en haut de la feuille pour voir de nouveau le haut,
    dont le tableau de B10:E15.

    * va sur une autre feuille (par exemple "Forces"), puis reviens
    sur la feuille "Synthèse finale".

    vérifie d'abord les données de C11:E15 ; puis vérifie toutes
    les données situées sous la ligne 22.

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

    code VBA de G00 (feuille "Synthèse finale") : 42 lignes.

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

    à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 6 septembre 2023, 02:10
    par rhodo
    1

    Bonjour Alice,

    j'ai vu que tu as déjà lu mon post P42 ; je te laisse lire mes 5 autres posts réf. P43 à P47.

    info sur la dernière version de v6.6 : fichier Excel daté du 05/09 à 22:38, qui fait 180 Ko ;
    c'est le fichier du lien cjoint de P43, que j'ai mis juste avant mon edit d'hier à 23:10
    .

    rhodo

    rhodo Posté le 6 septembre 2023, 09:00
    par rhodo
    0

    Bonsoir Rhodo,

    Merci beaucoup pour votre réponse !

    Je vous réponds ce soir si je peux. Demain sinon :)

    Excellente soirée à vous,

    Alice

    Alice Posté le 6 septembre 2023, 17:45
    par Alice
    0

    Bonjour Rhodo,

    Merci pour tous vos messages !

    Voici mon retour à partir de votre fichier v7.0 que je viens de passer complètement en revue ! :)


    Ref P43 :

    Parfait. Je comprends :)
    J'ai fait des vérifications et les données remontées sont justes :) 
    Merciii !


    Ref P44 :

    Merci beaucoup pour ces instructions très claires et précises ! :)
    C'est noté de mon côté !

    Je préviendrai effectivement les utilisateurs pour la question du Seuil :D.
    Et je leur expliquerai la logique de la colonne I :)


    Ref P45 :

    Parfait !
    J'ai revu directement la version v7.0 et je suis d'accord avec vous pour la mise à jour des 3 feuilles :"A faire seul" ; "A répartir" ; "A déléguer".


    Ref P46 :

    Bah oui j'ai trouvé que c'était super votre idée de référencer nos différents Posts ! Alors je vous ai imité ! :D

    C'est d'accord ! Je prends les références en "R" ! :)


    Ref P47 :

    J'ai fait des modifications un peu partout et j'ai vérifié les données remontées : tout me semble juste ! :)

    Merciiii bcp !

    Cela me semble tout bon maintenant ! :)


    Ref R1 :

    Une question : puis-je modifié le texte saisi en dur dans les en-têtes des colonnes des différents tableaux du fichier sans risquer de faire planter les macros ?

    D'après mes tests cela ne semble pas perturber le fonctionnement de vos macros. Mais je préfère en avoir la certitude !


    Ref R2 :

    J'ai vu que dans la colonne A du tableau de la feuille "Synthèse 1", entre A6:A19, il y avait des cellules qui comprennent des formules et d'autres du texte en dur => c'était moi qui avait fait cela.

    J'ai tout mis avec des formules vers les feuilles correspondantes. Cela vous convient ?

    Votre macro intervient-elle uniquement à partir de la colonne B ?


    Ref R3 :

    Idem j'ai fait la même chose pour certains intitulés de colonnes/lignes dans la feuille " Costumes à jeter" = j'ai ajouté des formules vers les feuilles précédentes.

    Finalement voici le fichier version v7.0 Alice : https://www.cjoint.com/c/MIhiGim58ky

    Avec juste quelques modifications d'intitulés d'en-têtes de colonnes/lignes, et des changements esthétiques.


    Je vous souhaite une excellente journée,

    Alice

    Alice Posté le 7 septembre 2023, 10:35
    par Alice
    0

    Ref R4 :
    Je me demande, savez-vous comment verrouiller ce dernier fichier pour éviter les changements qui pourraient perturber vos macros ?

    Alice

    Alice Posté le 7 septembre 2023, 10:37
    par Alice
    1

    @Alice ; réf. P48

    merci pour tes références avec la lettre « R ».  :)

    pour R1 :

    par exemple, pour la feuille "Forces" : ça actualise les en-têtes de G23:AJ23
    selon les costumes gardés (d'après la feuille "Utile vs inutile", plage B9:K9).

    mais dans tout mon code VBA, je n'ai pas mis de test de ce genre : SI c'est
    l'en-tête "Père", ALORS faire la chose X ➯ effectivement, tu peux modifier
    les textes des en-têtes SANS que ça gêne les macros.  :)

    rhodo

    rhodo Posté le 9 septembre 2023, 00:38
    par rhodo
    1

    @Alice ; réf. P49

    pour R4 :

    rappel : une feuille peut être référencée par son nom (.Name) ou par son code
    (.CodeName) ; exemple : G00 est le code de "Synthèse finale" ; dans la sub
    Worksheet_Activate() de G00, voici 2 exemples : a) « With E04 », c'est : « Avec
    "Synthèse 2" » ; b) un peu au-dessus, il y a « Crits F01, 6, 3, 3 » ; « F01 », qui
    est le 1er paramètre de la sub Crits(), va dans la variable sh (type Worksheet) ;
    ce « F01 » est le code de la feuille "Forces" ; pourquoi je te parle de tout ça ?

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

    car si par exemple l'utilisateur renomme la feuille "Forces" en "Snoopy", tout
    le code VBA qui utilise le .CodeName « F01 » continuera de s'appliquer sur
    la même feuille qu'avant, même si elle a été renommée en "Snoopy"
     ➯ c'est
    déjà une 1ère sécurité ; par contre, si l'utilisateur donnait un autre code à la
    feuille "Forces", ça ne marcherait évidemment plus.

    au début de la sub Dispatch(), il y a par exemple : « ClrData "A porter seul" » ;
    là, j'ai mis un nom : ce n'est pas un code de feuille ➯ si l'utilisateur renomme
    "A porter seul" en "Mickey", mon code VBA va planter dans la sub ClrData(),
    sur l'instruction « With Worksheets(f) » : ça ne pourra plus trouver la feuille
    de nom "A porter seul" vu qu'elle s'appelle maintenant "Mickey".

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

    voilà pourquoi c'est mieux de mettre cette sécurité : va sur une des feuilles du
    classeur (car la manip à faire est au niveau d'Excel, pas au niveau de VBA).

    onglet Révision, groupe "Protéger", clique sur « Protéger le classeur » ➯ petite
    fenêtre, avec ce titre abrégé : « Protéger la structure et les fe... » ; le dernier
    mot est « fenêtres » ; dessous, il y a : « ☑ Structure » ; c'est déjà coché : ok.

    si le fichier n'était que pour toi ou moi, on n'aurait pas besoin d'mettre un mot
    de passe : protéger la structure du classeur sans password serait juste une
    petite sécurité pour nous, afin qu'on ne change pas la structure du classeur
    par inadvertance.

    mais comme le fichier va être passé aux utilisateurs, tu vas devoir mettre un mot
    de passe de ton choix et surtout, ne pas l'oublier ! sinon, tu te seras toi-même
    coincée : c'est comme un chasseur qui serait tombé dans son propre piège,
    vu que toi-même tu ne pourras plus modifier la structure du classeur !

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

    quand tu choisis ton mot de passe, n'en choisis pas un que quelqu'un de ton
    entourage peut deviner facilement (exemple : ta date de naissance, ou celle
    d'un de tes proches)
     ; évite aussi tout c'que tu détestes particulièrement,
    par exemple le prénom de ta belle-mère Endora.  ;)

    tu dois aussi éviter tout mot qui fait partie d'un dictionnaire ("Larousse" ou
    autre)
     : certains hackers savent retrouver le mot de passe que t'as choisi,
    à partir de ton password crypté : « reverse »
    .

    il ne faut pas non plus que tu choisisses un password trop court : s'il ne fait
    que 2 ou 3 lettres, on pourra facilement « casser ton code secret » ; mais
    à l'inverse, ne va pas mettre un password trop long : 50 ou 60 caractères
    seulement devraient suffire.

    ATTENTION : pour les lettres, les MAJUSCULES et les minuscules sont
    DIFFÉRENTES ! par exemple, « A » est DIFFÉRENT de « a » ! il faudra
    taper ton mot de passe avec LES MÊMES LETTRES que tu avais saisies
    au moment de la création du password et avec LA MÊME CASSE (c'est-
    à-dire « MAJUSCULE » ou « minuscule »)
    .

    mets aussi des chiffres ; et des caractères spéciaux, style @ ou #.

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

    par précautionnote le mot de passe quelque part ; si tu le notes sur un post-it,
    évite de le coller en évidence sur un bord de ton écran ! si tu le notes dans un
    carnet, ne mets pas ce carnet dans le 1er tiroir du haut de ton bureau (surtout
    s'il ne ferme pas à clef !)
     ; range donc ce carnet dans un tiroir fermé à clef, ou
    fermé avec un cadenas, ou dans un autre endroit sûr : sous ta peluche préférée
    que tu as gardée tout au long de tes années passées jusqu'à maint'nant, et que
    as soigneusement conservée dans le tiroir du milieu de ton ancienne table de
    chevet, qui est derrière la trappe haut de ton grenier
     ; et surtout, n'oublie PAS
     tu as mis ce carnet : ça serait quand même bête que tu cherches pour rien
    ton carnet à la cave si tu l'as caché au grenier !  ;)

    tu peux aussi mettre ce carnet dans le coffre-fort de ta banque ; mais si tu ne leur
    fait pas assez confiance, garde ce carnet sur ton lieu de travail ou même chez toi,
    à ton domicile privé ; dans les 2 cas :

    si même quelque chose de bien fermé à clef (ou avec un cadenas) ne suffit pas,
    tu peux faire installer des rayons lasers mortels tout autour, qui grilleront tout intrus
    malintentionné qui s'approchera trop près de ta cachette ... mais n'oublie pas de
    prévenir ton mari et tes enfants que l'endroit est très dangereux ! (oui, si vraiment
    tu détestes Endora, tu peux ne pas la prévenir)

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

    pour en revenir à nos moutons, quand j'avais écrit « modifier la structure du
    classeur »
    , ça revient à faire, par exemple : renommer une feuille ; déplacer
    une feuille à un autre endroit du classeur (à gauche ou à droite) ; ajouter ou
    supprimer une feuille.

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

    si tu as protégé le classeur sans password, le fait de cliquer de nouveau sur
    « Protéger le classeur » a l'air de ne rien faire du tout ; en fait, ça a ôté la
    protection du classeur (car sinon, la même petite fenêtre qu'avant serait
    de nouveau affichée)
    .

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

    si tu as voulu protéger le classeur avec un password : ça demande de retaper
    ce même password, pour confirmation ; clique sur le bouton "OK" ➯ c'est fait :
    le classeur est protégé avec le password que tu as choisi ; faudra bien sûr
    sauvegarder le fichier pour enregistrer cette modification ; ensuite :

    clique de nouveau sur « Protéger le classeur » ➯ boîte de dialogue dont le titre
    est : "Ôter la protection du classeur" ; dessous, il faut saisir un mot de passe ;
    tes utilisateurs ne pourront pas ôter la protection du classeur, car ils ne savent
    pas QUEL est le password que tu as choisi (surtout au cas où t'as pris toutes
    les précautions
     indiquées plus haut)
    .

    évidemment, un de tes utilisateurs peut toujours essayer de trouver ton joli
    password, en tapant un mot de passe au hasardau petit bonheur la chance,
    mais ça serait un gros manque de pot qu'il tombe pile dessus !  :(  voilà
    pourquoi il faut un password difficile à deviner, sans aucun rapport avec
    ta vie privée, ni ce que tu aimes ou ce que tu détestes
     ➯ normalement,
    toi seule peut taper le bon mot de passe.

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

    j'ai gardé la cerise pour la fin : avec Excel, toute protection est illusoire :
    quelqu'un qui s'y connait bien peut facilement enlever la protection d'une
    feuille de calcul, ou même la protection d'un classeur ; et y'a plusieurs
    façons différentes de faire ça ; alors inutile d'investir dans des rayons
    lasers mortels : ça sera en pure perte !  :D

    rhodo

    rhodo Posté le 9 septembre 2023, 13:50
    par rhodo
    1

    @Alice ; réf. P50 (réponses d'après ma version initiale v7.0)

    pour R2 :

    en feuille "Synthèse 1", pour A6:A19 : comme les données ne vont pas changer,
    j'aurais plutôt mis toutes les données « en dur », sans aucune formule.

    pour A15:A19 : le texte est court ; c'est rapide de taper "Action 1" à "Action 5" ;
    tu peux même faire comme suit : sélectionne A15:A19 ; appuie sur la touche
    Suppression pour tout effacer ; tape "Action 1", mais au lieu de taper sur la
    touche Entrée, fais Ctrl Entrée ➯ ça met "Action 1" dans toutes les cellules
    de la plage A15:A19 ; sélectionne A16 ; remplace 1 par 2 ; sélectionne A17 ;
    remplace 1 par 3 ; sélectionne A18 ; remplace 1 par 4 ; sélectionne A19 ;
    remplace 1 par 5 ; ça, c'est ce que tu aurais pu faire quand les données
    n'étaient pas DÉJÀ présentes ; mais avec tes formules précédentes qui
    retournaient déjà les bonnes données, ç'aurait été plus simple de faire
    un copier / coller en valeur.

    pour un long texte, comme par exemple celui de A13 ou A14, je comprends
    que tu n'aies pas eu envie de le retaper : c'était bien plus simple de mettre
    ta formule ; sélectionne A13 ; appuie successivement sur les touches F2 ;
    F9 ; Entrée ➯ c'est fait : tu as converti en texte le résultat de la formule ;
    si le résultat de la formule avait été numérique, ça l'aurait converti en un
    nombre ; fais pareil pour A14 ; là aussi, tu pourrais utiliser le copier /
    coller en valeur
    .

    oui, ma macro intervient uniquement à partir de la colonne B.

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

    pour R3 :

    en feuille "Costumes à jeter", il s'agit uniquement de la cellule A6, car en
    A7:A13, c'est déjà des données « en dur » (pas des formules).

    même réponse que pour R2 : j'aurai mis une donnée en dur plutôt qu'une
    formule ➯ sélectionne A6 ; appuie sur F2 ; F9 ; Entrée.

    rhodo

    rhodo Posté le 9 septembre 2023, 14:45
    par rhodo
    1

    Bonjour Alice,

    Lis mes 3 posts P48 à P50.  :)

    à te lire pour avoir ton avis.  ;)

    rhodo

    rhodo Posté le 9 septembre 2023, 15:18
    par rhodo
    0

    Bonsoir Rhodo,


    Ref P48 :

    Super nouvelle pour la modification des en-têtes :)


    Ref P49 :

    J'ai bien rigolé en lisant toutes vos idées pour sécuriser le mot de passe écrit sur un post-it caché ! :D

    Je verrai quelle protection je mettrai. Avec ou sans mot de passe.

    Je comprends que le nom d'une feuille peut être modifié sans que cela ne cause de problèmes pour le fonctionnement des macros ; SAUF s'il s'agit de la feuille "A porter seul".

    C'est super :)

    Sinon je ne crains pas que les futurs utilisateurs aillent s'amuser à modifier votre code VBA et donc les noms de code des différentes feuilles. En effet, ils seront bien trop occupés pour avoir ne serait-ce que le temps de penser à faire ça ! :) … Et encore en imaginant qu'ils s'y connaissent en codage de macros !


    Donc en résumé, j'ai compris que pour le bon fonctionnement des macros, il ne faut pas modifier :
    1- L'emplacement des tableaux dans les feuilles du classeur
    2- L'ordre des différentes feuilles dans le classeur
    3- Le nom de la feuille "A porter seul"
    4- Les noms de code attribués à chaque feuille dans votre code VBA

    Mais en-dehors de ces manipulations : y-a-t-il d'autres manipulations qui feraient que les macros ne fonctionnent plus ?


    Ref P50 :

    J'ai suivi vos avis et ai tout copié/collé en valeur :).


    Nous voilà à la version finale ! :)

    Je profite de ce message pour vous dire que je suis une coach professionnelle certifiée. J'accompagne globalement des gens à aller mieux, à s'épanouir, et à atteindre leurs objectifs, quels qu'ils soient ! :) Et si un jour je peux vous rendre service dans mon domaine de compétence (pas le codage de macros donc ! :'D), ce sera avec plaisir !

    Merci encore mille fois pour votre aide !

    Alice

    Alice Posté le 9 septembre 2023, 21:24
    par Alice
    1

    Bonjour Alice,

    tu as écrit : « SAUF s'il s'agit de la feuille "A porter seul" »
    et : « 3- Le nom de la feuille "A porter seul" »

    attention : c'était juste un exemple ! en voici 2 autres :

    au début de la sub Dispatch, juste à droite de « ClrData "A porter seul" »,
    il y a aussi : « ClrData "A partager": ClrData "A donner" » ➯ même chose :
    si l'utilisateur renomme autrement les 2 feuilles "A partager" et "A donner",
    ça plantera car la macro ne pourra plus les trouver.

    peut-être qu'il y a d'autres feuilles à ne pas renommer ? ça serait bien long
    de revérifier tout le code VBA, mais c'est chaque fois que j'ai utilisé le nom
    de la feuille et non pas son code de feuille.

    donc de manière générale : ne renommer aucune feuille ; et ça sera de
    toute façon impossible si tu protèges la structure du classeur (à moins
    d'ôter cette protection)
    .

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

    moi aussi, je pense que les utilisateurs ne vont pas essayer de modifier
    mon code VBA ; mais si tu veux, tu peux mettre un mot de passe sur
    mon projet VBA ; commence par fermer tous les modules ouverts :
    côté droit, le fond doit être gris ; côté gauche, tout en haut, fais un clic
    droit sur la ligne « VBAProject (Tableaux à compléter v7.0.xlsm) » ;
    dans le menu contextuel, choisis « Propriétés de VBAProject... » ;
    au départ, c'est sur l'onglet "Général" ; sélectionne le 2ème onglet
    "Protection" ; coche cette case :

    ☑ Verrouiller le projet pour l'affichage

    dessous, saisis un mot de passe, puis confirme-le ; clic sur "OK" ;
    désormais, seul celui qui a le bon mot de passe peut ouvrir et
    modifier un module du code VBA.

    bien sûr, si plus tard tu veux ôter le mot de passe que tu as mis,
    il faudra commencer par saisir le bon mot de passe pour avoir
    accès à l'onglet "Protection".

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

    tu as écrit : « en dehors de ces manipulations : y a-t-il d'autres manips
    qui feraient que les macros ne fonctionnent plus ? »

    disons que pour l'instant, les macros fonctionnent très bien en l'état ;
    comme le code VBA ne s'adapte pas automatiquement à des modifs
    de structure du classeur, ça fait que les macros continueront de
    fonctionner correctement si tu ne changes pas la structure du
    classeur ; mais aussi : si tu n'ajoutes pas des lignes ou colonnes,
    ou si tu ne supprimes pas des lignes ou colonnes (là aussi, c'est
    juste quelques exemples)
    .

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

    bonne chance, bonne continuation, et bon courage dans ton métier
    de coach professionnelle.  :)  merci pour la proposition, mais c'est
    ok : je vais bien, et je me sens épanoui.  ;)

    rhodo

    rhodo Posté le 10 septembre 2023, 03:42
    par rhodo
    0

    Bonjour Rhodo,

    C'est noté ! Merci pour toutes vos précisions !
    Je les ai noté et j'en informerai les utilisateurs.

    Cool :) Je suis ravie que vous soyez bien et épanoui.

    Merci encore pour votre aide ! :)

    Bonne continuation à vous aussi ! ;)


    Alice

    Alice Posté le 10 septembre 2023, 14:59
    par Alice

    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 :