Changement de colonne et le code ne fonctionne plus

Bonjour,

J'ai un petit problème avec mon fichier. J'ai voulu changer une colonne et rectifier le code en conséquence, sauf que maintenant il détecte une erreur alors qu'avant le fichier fonctionnait très bien. Je pense que je n'ai pas compris le code à la base...

J'ai enlevé la colonne "UT" qui était en colonne C (à la base) et je l'ai déplacé en colonne F. Ce qui fait que la colonne "risque" se retrouve en colonne C au lieu de D avant.

Serait-il possible de m'aider pour rectifier svp ?

c'est à partir d'ici qu'il y a un bug.

 For i = .Range("C" & .Rows.Count).End(xlUp).Row To 2 Step -1

        If Range("C" & Application.WorksheetFunction.Match(.Range("D" & i), Range("B:B"), 0)) = "OUI" Then

Merci,

Cdt,

LSO

Petite précision et pas des moindre :) :

Le but du fichier est que lorsqu'on met NON dans la colonne D de l'onglet Choix des risques, les lignes qui porte le nom du risque dans l'onglet EVRP se masquent.

Bonjour,

Il aurait fallut déposer le fichier avant de faire la modif, puis dire ce que vous vouliez faire.

Ensuite, vous parlez de la colonne D de l'onglet "Choix des risques", dans votre macro, à quel moment faites-vous allusion à cette feuille ?

Cdlt

Salut LSO,
Salut Arturo,

remerciements à Dan qui avait déjà résolu ce sujet il y a 15 jours...

- Il faudrait que tu te décides pour un libellé pour le risque "Chute de plain-pied" !! 3 libellés différents sur 3 feuilles !!
- j'ai placé une formule en 'EVRP' [E:E] qui reprend automatiquement le choix "Oui/Non" de 'RISK'.
À toi à tirer cette formule en fonction de ta colonne [B:B].

=INDEX(DECALER(RISK!$B$2;0;0;NBVAL(RISK!$B:$B)-1;3);EQUIV(C2;DECALER(RISK!$B$2;0;0;NBVAL(RISK!$B:$B)-1;1);0);3)

On peut encore pousser le bouchon plus loin en automatisant le traitement et se passer du bouton "Mise à jour" mais cela dépend évidemment de tes procédures de travail

With ActiveSheet
    iRow = .Range("D" & Rows.Count).End(xlUp).Row - 1
    '
    If Application.CountA(.Range("D2").Resize(iRow, 1)) <> iRow Then _
        MsgBox "Impossible de mettre l'onglet EVRP à jour !" & Chr(10) & "Toutes les cases PRÉSENTE doivent être à 'Oui' ou 'Non'.", _
            vbInformation + vbOKOnly, "MàJ - EVRP": _
        Exit Sub
End With
'
'Masquer les lignes si non.
With Worksheets("EVRP")
    .Rows.Hidden = False
    For x = 2 To .Range("E" & Rows.Count).End(xlUp).Row
        .Rows(x).Hidden = IIf(.Range("E" & x).Value = "NON", True, False)
    Next
    MsgBox "L'onglet EVRP a été mis à jour!" & Chr(10) & "Vous pouvez commencer le travail d'Etude d'Impact.", vbInformation + vbOKOnly, "MàJ - EVRP"
    .Activate
End With
6lso.xlsm (43.30 Ko)


A+

Bonjour,

Merci pour le travail !

En faite, la colonne "Oui/Non" présente dans l'onglet EVRP ne correspond pas à la même colonne "Présence Oui/Non" de l'onglet "Chois des risques".

La colonne "Présence Oui/Non" va indiquer si le risque est présent. Si la personne met "Non" alors les lignes en lien avec ce risque se masquent. Même si la personne a rajouté des lignes en lien avec ce risque.

La colonne "Oui/Non" dans l'onglet EVRP va nous permettre de savoir si une situation dangereuse en lien avec le risque est présente. Par ex : Pour le risque chute de plain-pied, la situation dangereuse pourra être "Des fils sont présents au sol ?" et la personne met oui ou non.

Salut LSO,

ça ne me dit pas clairement si c'est bon ou pas !


A+

Rechercher des sujets similaires à "changement colonne code fonctionne"