Formule si(et du moins je crois

Bonjour,

Je n'arrive pas a trouver la solution à ce problème:

Si A1="" et B1="" et C1=1 alors D1=3

Merci pour votre aide

Crdlt

Bonjour,

Je n'ai malheureusement pas la réponse, je suis un vrai débutant avec Excel, mais pouvez-vous me dire à quoi correspond "" ?

Est-ce zéro ou cellule vide ?

Merci.

Coucou,

oui le "" c'est pour une cellule vide

Voici une formule à mettre en D1 :

=SI(ET(A1="";B1="";C1=1);3;"erreur")

J'ai mis erreur si faux mais tu peux mettre ce qui te plait

Bonjour

Cela correspond à vide

J'ai trouvé la solution code ci-dessous

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = "" And Range("B1") = "" And Range("C1") = 1 Then
Worksheets("Feuil1").Range("D1") = 3
End If
End Sub

Par contre ce que je n'arrive pas pour l'instant à trouver, c'est comment construire ce code pour une plage

exemple A:A ="" et B:B=== et C:C=1 donc D:D=3

Vraiment désolé de m'immiscer dans votre sujet Joco mais j'ai encore une petite question (votre formule est la base de ce que je cherche depuis une petite heure...)

=SI(ET(A1="";B1="";C1=1);3;"erreur")

Je l'ai modifié avec mes besoins en

=SI(ET(A1=0;B1=0);"OK";"")

Je voudrais maintenant intégrer le fait que les cellules A1 et B1 soient ou égales à 0 ou non vides, du genre :

=SI(ET((A1=0;"code_pour_non_vide");(B1=0;"code_pour_non_vide"));"OK";"")

Merci et encore désolé du dérangement

Vraiment désolé de m'immiscer dans votre sujet Joco mais j'ai encore une petite question (votre formule est la base de ce que je cherche depuis une petite heure...)

=SI(ET(A1="";B1="";C1=1);3;"erreur")

Je l'ai modifié avec mes besoins en

=SI(ET(A1=0;B1=0);"OK";"")

Je voudrais maintenant intégrer le fait que les cellules A1 et B1 soient ou égales à 0 ou non vides, du genre :

=SI(ET((A1=0;"code_pour_non_vide");(B1=0;"code_pour_non_vide"));"OK";"")

Merci et encore désolé du dérangement

→ Si elles sont égale à Zéro alors elles sont non vides....

=SI(ET(OU(A1<>"";B1<>""));"ok";"")

PS : Désoler Joco les codes et moi ca fait 2 alors si c'est un code que tu cherche je peux pas t'aider

Bonjour,

@Nicodak : merci de créer votre propre sujet pour éviter de polluer celui ci !

@Joco7915, votre macro se déclenche dès qu'il y a une modification, c'est bien ce que vous souhaitez ? Dans ce cas, inutile de parcourir toutes les lignes, seule la ligne concernée par la modification doit être actualisée. A noter que la cellule modifiée s'appelle Target. Un essai :

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Lig As Long

If Not Intersect(Target, Range("A:C")) Is Nothing Then
    Lig = Target.Row
    If Range("A" & Lig) = "" And Range("B" & Lig) = "" And Range("C" & Lig) = 1 Then
        Range("D" & Lig) = 3
    Else
        Range("D" & Lig) = "" 'Efface la cellule D si elle ne respecte pas ou plus les conditions
    End If
End If

End Sub

PS : pour une macro "classique" (déclenchée manuellement), il faudrait utiliser une boucle pour définir la variable Lig de façon dynamique (par exemple : For Lig = 1 To 100)

Bonjour Pedro22

Merci pour ta réponse exactement ce que je cherchais à réaliser.

Bonne journée

Crdlt

@Nicodak : merci de créer votre propre sujet pour éviter de polluer celui ci !

Je me suis platement excusé, vous pourriez néanmoins être plus aimable...

@Nicodak : merci de créer votre propre sujet pour éviter de polluer celui ci !

Je me suis platement excusé, vous pourriez néanmoins être plus aimable...

Désolé pour mon ton bourru, je ne veux pas être désagréable ! J'ai vu vos excuses, mais ça ne dispense pas de faire créer un sujet distinct (avec une éventuelle référence à celui-ci) pour éviter que les discussions ne se croisent inutilement ici. Et vous donnera par la même occasion infiniment plus de chances d'obtenir une réponse pertinente...

Bonne continuation

Rechercher des sujets similaires à "formule crois"