Microsoft 365 Comment copier 2 colonnes d'une ligne en fonction d'un mot dans une autre feuille

lilicorail46

XLDnaute Nouveau
Bonjour à tous,

Je créée cette discussion car j'ai vu que je n'étais pas seule dans ce cas là, mais même en regardant les réponses apportées : je ne comprends rien ... Je crois que je n'ai même pas atteint le niveau "débutant" ou alors le niveau "débutant enfant".

Voilà ce que je voudrais réaliser :

Dans mon classeur Excel, je souhaite copier les colonnes B et C de la feuille "Grille audit" vers les colonnes B et C de la feuille "Plan d'action" seulement quand le résultat en colonne C de la feuille "Grille audit" est "M" ou "NS".

Il faut savoir que les colonnes C, D et E représentent des dates de passages. C : 1er passage; D : 2ème passage et E : 3ème passage.
Quand je devrais saisir la colonne D pour le 2ème passage, il faudrait que ce soit cette colonne qui apparaissent sur ma feuille "Plan d'action" mais plus la C même si celle-ci sera déjà remplie avec les notations du 1er passage.

Je sais pas si je suis assez explicites dans mes explications. Je me débrouille sur Excel comme je peux mais je n'ai jamais fait de macro.

Je joint en copie mon fichier Excel afin que cela soit plus compréhensible pour vous.

J'ai vraiment besoin d'aide car là je suis dans une impasse.

Merci d'avance pour vos retours.
 

Pièces jointes

  • TEST TRAME Audit VIERGE - Cuisine Centrale.xlsx
    51.6 KB · Affichages: 8

lilicorail46

XLDnaute Nouveau
Bonjour Sylvanu,

J'ai à nouveau besoin d'aide.
J'ai ajouté une colonne "coef." à ma "grille d'audit". En fonction du résultat en colonne "D", je souhaite que ça effectue une décote de la note par chapitre (de 1 à 9) avec un résultat en % en "Page de garde". Comme le système de notation est en lettre et non en chiffre, je ne peux pas effectuer la fonction =MOYENNE (enfin je pense).

Coef. 1 : si en colonne "D", j'ai un "S", la note reste inchangée, si j'ai un "M" on perd 0.5 point et si j'ai "NS" on perd 1 point.
Coef. 5 : si en colonne "D", j'ai un "S", la note reste inchangée, si j'ai un "M" on perd 2.5 points et si j'ai "NS" on perd 5 points.
Coef. 10 : si en colonne "D", j'ai un "S", la note reste inchangée, si j'ai un "M" on perd 5 points et si j'ai "NS" on perd 10 points.

Pour cette grille, j'ai un total de 506 points.

Ensuite en "Page de garde", je comptais faire la moyenne des résultats du bilan détaillé en utilisant la fonction =MOYENNE.

Qu'en pensez-vous? Pouvez-vous m'aider?

Bonne soirée

Lilicorail46
 

Pièces jointes

  • NEW TEST TRAME Audit VIERGE - Cuisine Centrale.xlsm
    71 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Lilicorail,
Un essai en PJ avec :
VB:
Option Explicit: Option Base 1
'Calcul de la décote :
'Coef. 1 : "S" 0, "M" -0.5,"NS" -1
'Coef. 5 : "S" 0, "M" -2.5 ,"NS"-5
'Coef. 10 :"S" 0,"M" -5,"NS" -10
'Ou encore : "S" +Coef, "M" +Coef/2,"NS" +0
Sub Worksheet_Activate()
    Dim DL%, i%, j%, T, T2, Num, Decote
    Application.ScreenUpdating = False
    DL = Sheets("Grille audit").Range("A65500").End(xlUp).Row
    T = Sheets("Grille audit").Range("A3:F" & DL)   ' Tableau des valeurs colonnes A à F
    ReDim T2(9, 2)                                  ' T2 tableau résultat, 1 total coef, 2 total notes
    For i = 1 To UBound(T)
        If T(i, 3) <> "" Then
            Num = Val(Split(T(i, 1), ".")(0))
            T2(Num, 1) = T2(Num, 1) + T(i, 3)
            ' Si "S" on ajoute le Coef, Si "M" on ajoute Coef/2, Si "NS" on ne rajoute rien
            Select Case T(i, 4)
                Case "S": T2(Num, 2) = T2(Num, 2) + T(i, 3)
                Case "M": T2(Num, 2) = T2(Num, 2) + T(i, 3) / 2
            End Select
        End If
    Next i
    ' Restitution des résultats
    If T2(1, 1) <> 0 Then [C27] = T2(1, 2) / T2(1, 1)
    If T2(2, 1) <> 0 Then [C28] = T2(2, 2) / T2(2, 1)
    If T2(3, 1) <> 0 Then [C29] = T2(3, 2) / T2(3, 1)
    If T2(4, 1) <> 0 Then [C30] = T2(4, 2) / T2(4, 1)
    If T2(5, 1) <> 0 Then [G27] = T2(5, 2) / T2(5, 1)
    If T2(6, 1) <> 0 Then [G28] = T2(6, 2) / T2(6, 1)
    If T2(7, 1) <> 0 Then [G29] = T2(7, 2) / T2(7, 1)
    If T2(8, 1) <> 0 Then [G30] = T2(8, 2) / T2(8, 1)
    If T2(9, 1) <> 0 Then [C31] = T2(9, 2) / T2(9, 1)
End Sub
L'actualisation est automatique quand on sélectionne la page "Page de garde"
 

Pièces jointes

  • NEW TEST TRAME Audit VIERGE - Cuisine Centrale (3).xlsm
    72 KB · Affichages: 1

lilicorail46

XLDnaute Nouveau
Bonjour Lilicorail,
Un essai en PJ avec :
VB:
Option Explicit: Option Base 1
'Calcul de la décote :
'Coef. 1 : "S" 0, "M" -0.5,"NS" -1
'Coef. 5 : "S" 0, "M" -2.5 ,"NS"-5
'Coef. 10 :"S" 0,"M" -5,"NS" -10
'Ou encore : "S" +Coef, "M" +Coef/2,"NS" +0
Sub Worksheet_Activate()
    Dim DL%, i%, j%, T, T2, Num, Decote
    Application.ScreenUpdating = False
    DL = Sheets("Grille audit").Range("A65500").End(xlUp).Row
    T = Sheets("Grille audit").Range("A3:F" & DL)   ' Tableau des valeurs colonnes A à F
    ReDim T2(9, 2)                                  ' T2 tableau résultat, 1 total coef, 2 total notes
    For i = 1 To UBound(T)
        If T(i, 3) <> "" Then
            Num = Val(Split(T(i, 1), ".")(0))
            T2(Num, 1) = T2(Num, 1) + T(i, 3)
            ' Si "S" on ajoute le Coef, Si "M" on ajoute Coef/2, Si "NS" on ne rajoute rien
            Select Case T(i, 4)
                Case "S": T2(Num, 2) = T2(Num, 2) + T(i, 3)
                Case "M": T2(Num, 2) = T2(Num, 2) + T(i, 3) / 2
            End Select
        End If
    Next i
    ' Restitution des résultats
    If T2(1, 1) <> 0 Then [C27] = T2(1, 2) / T2(1, 1)
    If T2(2, 1) <> 0 Then [C28] = T2(2, 2) / T2(2, 1)
    If T2(3, 1) <> 0 Then [C29] = T2(3, 2) / T2(3, 1)
    If T2(4, 1) <> 0 Then [C30] = T2(4, 2) / T2(4, 1)
    If T2(5, 1) <> 0 Then [G27] = T2(5, 2) / T2(5, 1)
    If T2(6, 1) <> 0 Then [G28] = T2(6, 2) / T2(6, 1)
    If T2(7, 1) <> 0 Then [G29] = T2(7, 2) / T2(7, 1)
    If T2(8, 1) <> 0 Then [G30] = T2(8, 2) / T2(8, 1)
    If T2(9, 1) <> 0 Then [C31] = T2(9, 2) / T2(9, 1)
End Sub
L'actualisation est automatique quand on sélectionne la page "Page de garde"
Bonjour Sylvanu,

C'est super ça fonctionne très bien !
Par contre je viens de m'apercevoir que si je note NE (non-évalué) ça effectue une décote. J'avais oublié cette notation là. Comment je peux faire?

Bonne journée

Lilicorail46
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
que si je note NE (non-évalué) ça effectue une décote.
Il suffit de rajouter :
VB:
Case "NE": T2(Num, 2) = T2(Num, 2) + T(i, 3)

Si tout est ok, pensez à mettre ce post en résolu ( Lien ) car il commence à avoir pas mal de PJ sur ce post, et ça aidera le futur lecteur à aller directement à la solution.
 

Pièces jointes

  • NEW TEST TRAME Audit VIERGE - Cuisine Centrale (4).xlsm
    72.3 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
299 956
Messages
1 980 368
Membres
207 067
dernier inscrit
Miks57450