Modifier une cellule si conditions remplies

Bonjour le Forum,

j'ai besoin de votre aide pour réaliser ou corriger cette macro.

elle est censée modifier une cellule si condition vrai et remettre celle-ci à " " si on revient à faux

Public Sub Kit15Inox3()

    For i = 91 To 322 Step 33
        If ThisWorkbook.Sheets("Enquête").Cells(i, 14) = "Vrai" Then
        ThisWorkbook.Sheets("calcul").Cells(42, 4) = 198

    Else
         ThisWorkbook.Sheets("calcul").Cells(42, 4) = ""

        End If
    Next i
End Sub

je dois louper quelque chose

merci.

Bonjour,

Sans fichier ... difficile de deviner ce qui ' coince ' ...

Qu' y a t-il dans la cellule N91 puis dans la cellule N124, etc... ...???

Bonjour James007

je pense que tu vas reconnaître le fichier et oui c'est toujours le même.

comme tu pourras le voir les cellules N sont toutes identiques.

j'espère que cela va d'aider à comprendre le problème.

merci.

Bonjour,

Une question se pose ...

Es-tu sûr de vouloir la valeur 198 ... toujours dans la même cellule D42 de ta Feuille 2 ...???

Public Sub Kit15Inox3()
Dim i As Long
    For i = 91 To 322 Step 33
        If Feuil1.Cells(i, 14) = True Then Feuil2.Cells(42, 4) = 198
    Next i
End Sub

En espèrant que cela t'aide

James007,

oui la valeur est toujours 198 et la cellule aussi.

le code ne fonctionne pas dans le fichier joint la cellule reste à 198 même si je décoche la case et ans mon fichier OR j'ai carrément un Vb Critical 400.

j'ai mis le code dans ma feuille Calcul, c'est eut-être pas bon

Private Sub Worksheet_Activate()
    Range("A1").Select
End Sub

Private Sub CommandButton1_Click()
Application.Run ("CentreEnv")
End Sub

Private Sub CommandButton2_Click()
Application.Run ("CentreCorde")
End Sub

Private Sub Worksheet_Calculate()

        If IsNumeric(Range("K4")) And [K4] < 0 Then MsgBox "La masse sur le goujon BA est négative !  " _
    & vbNewLine & vbNewLine _
    & " Vous devez revoir votre estimation", vbExclamation, "ALERTE GOUJON BA "

        If IsNumeric(Range("K4")) And [K4] > 886 Then MsgBox "Vous dépassé la capacité du goujon BA " _
    & vbNewLine & vbNewLine _
    & " Vous devez revoir votre estimation", vbExclamation, "ALERTE GOUJON BA"

    '-----------------------------------------------------------------------------------------------------
         If IsNumeric(Range("K12")) And [K12] < 0 Then MsgBox "La masse sur le goujon BF est négative !  " _
    & vbNewLine & vbNewLine _
    & " Vous devez revoir votre estimation", vbExclamation, "ALERTE GOUJON BF "

        If IsNumeric(Range("Y8")) And [Y8] > 806 Then MsgBox "Vous dépassé la capacité de la cavité N°3 " _
    & vbNewLine & vbNewLine _
    & " Vous devez revoir votre estimation", vbExclamation, "ALERTE GOUJON BF "

End Sub

Public Sub Kit15Inox3()
Dim i As Long
    For i = 91 To 322 Step 33
        If Feuil1.Cells(i, 14) = True Then Feuil2.Cells(42, 4) = 198
    Next i
End Sub

merci pour ton aide

Re,

Non ...

Une macro standard va dans un module standard ...

Ci-joint ton fichier avec la modification ...

En espèrant que cela t'aide

je sèche,

ça fonctionne pas. j'ai affecté la macro à la case à cocher, comme tu me l'as appris, j'ai bien 198 dans la cellule voulue mais si je décoche c'est toujours là.

Quand au bouton KIT il se passe rien.

merci pour ta patience.

Re,

Ci-joint ta version 3 ...

En espèrant que cela t'aide

Re,

je sais pas pour toi, mais moi il se passe rien

A+

Re,

Nous revenons à la question précédente ...

Dans la mesure où tu veux tester les 8 cellules d'un coup ...

Il faut avoir des règles précises ...

Avec une boucle il faut que les 8 cellules soient vraies pour avoir 198 ...

Je pense que tu dois clarifier ta logique ... la macro suivra ...

Re,

Ok je ne suis pas clair du tout.

Je ne veux pas que les 8 cellules soient à True pour appliquer la valeur, mais si une d'entre elles est True alors j'applique la valeur. les cellules doivent être indépendantes les unes des autres.

En fait la boucle me permettrait de ne pas faire un code pour chaque cellules. Si possible

Puis si je décoche la case qui a déclenché a valeur celle-ci revient à " "

Cerise sur le gâteau, il faudrait aussi que les cellules F69, 102 etc soit à "Estimation".

j'espère avoir éclairci la logique.

merci pour le temps que tu me consacre

Re,

Merci pour l'éclaircissement de ta logique ...

Mais comme je te l'ai déjà indiqué ... compte tenu de la façon dont tu as tout construit ...

et pour respecter ta logique ... tu es obligé d'avoir une macro par checkbox ...

Ci-joint le correctif ... je te laisse faire toutes les liaisons ...

Bon Courage pour la suite ...

Et merci pour tes encouragements

il faudra qu'un jour je change ma logique, c'est sûr mais bon, au début, pré-histoire d'excel sous Windows 95 quand j'ai initié ce fichier, je ne savais même pas qu'il y avait des macros c'est te dire si je suis doué

Merci pour ton aide

Re,

Content de savoir que ton problème est résolu ...

SI tu envisages de repenser ton fichier ... deux conseils :

1. JAMAIS JAMAIS de CELLULES FUSIONNEES ...

elles sont à la fois inutiles ET très dangereuses ... !!!

2. Si tu as besoin de beaucoup d'objets ( comme des checkboxes ) et que tu veux pouvoir les gérer de façon générique ....

il faut utiliser un module de classe ...

En espèrant que cela puisse t'aider pour le futur ...

Bonjour James007,

merci pour ces conseils avisés, je m'en souviendrais lors de mes prochains projets. je vais commencer par chercher des infos sur les modules de classe

bonne journée

De rien ...

Ce qui compte à partir de maintenant ... pour améliorer ta maitrise ...

c'est la persévérance ...

Re,

merci pour ces encouragements

je ne voudrais pas abuser de ta gentillesse, mais encore un coup de main si tu le veux bien.

j'ai fais toutes mes macros et je m'aperçois qu'il me manque un truc

quand je valide la checkBox, je voudrais modifier la couleur de fond des celules A,B,C,D,E & F en gris.

je serais le faire avec une MFC mais c'est assez long.

Est-t-il possible e modifier les macros pour incorporer le changement de couleur?

le code tel qu'il est maintenant:

'Active la CheckBox "N322" Kit 15 inox 3
Sub Kit15Inox3N322()
    ThisWorkbook.Sheets("calcul").Unprotect Password:=""
    If Worksheets("Enquête").Range("F300") = "Estimation" And [N322] = True Then
    Feuil2.Cells(42, 4).Value = 198
    Else
        Feuil2.Cells(42, 4).ClearContents
    End If
    ThisWorkbook.Sheets("calcul").Protect Password:=""
    ThisWorkbook.Sheets("calcul").Activate
End Sub

oups

dans la feuille "Calcul"

Re,

Tu dis

quand je valide la checkBox, je voudrais modifier la couleur de fond des celules A,B,C,D,E & F en gris

MAIS

de quelles cellules A, B, C, D, E , F ... parles-tu précisément ...???

Pour être précis, tu en utilises 340 ( fois Six ) ... autant que le nombre de lignes de ta Feuille ...

çà fait un paquet

donc pus précisément:

feuille "Calcul" Colonnes A à F suivant la macro la ligne 42 pour inox 3 & 44 pour inox 4

A+

Rechercher des sujets similaires à "modifier conditions remplies"