Fonction SI + Et + ou
RésoluRaymond PENTIER Messages postés 58234 Date d'inscription Statut Contributeur Dernière intervention -
je souhaite faire :
si A1 est différent de vide mettre 1 dans celule B5 et si A2 est différent de vide mettre 1 toujours dans B5
merci
José
Configuration: Windows XP Opera 9.52
11 réponses
La discussion porte sur une règle Excel visant à afficher 1 en B5 lorsque A1 ou A2 est non vide, avec une contrainte de n'avoir au plus qu'un seul 1 dans B5. Plusieurs propositions suggèrent d'utiliser une formule conditionnelle OU qui renvoie 1 si l'une des cellules A1 ou A2 est non vide, et 0 sinon, afin de respecter le plafond d'un seul 1. D'autres interventions évoquent des explications complémentaires et des exemples d'exercices, puis des observations sur les besoins précis et les limites possibles selon le fichier utilisé. En pratique, la solution dépendra des contraintes du classeur et d'inclusion éventuelle d'autres cas, comme une mise à jour automatique lorsque A1 ou A2 évolue, ou l'utilisation d'une formule matricielle.
-
-
-
Bonjour,
essaye.. à mettre en B5
=SI(ET(A1="";A2="");0;1)
Autre soulutrion
=SI(OU(A1<>"";A2<>"");1;0)
A+ -
Aucun problème, sauf que si tu met SI(G1+H1>=1;"1";"") dans G1 tu va avoir une référence circulaire,
Revoir ta copie :D -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bon, je vois que tu pige pas..
en E8 tu met seulement ta formule=SI(E8+F8>=1;"1";"")
Autre remarque, avec la fonction SI tu ne peu avoir que 2 résultats, Vrai ou FAUX donc soit 1 et 0 ou 1 et ""
Mais pas les 3.
ont peu donc en déduire,=SI(OU(A1<>"";B1<>"";H1<>"");1;"")
-
Met ton classeur alléger sur Cjoint.com en mettant le lien donner sur un poste suivant.
Oublie pas de mettre des exemple de ce que tu veux (en manuelle pas en formule)
Je pourrais peut-être mieux t'aider. -
Si j'ai bien compris ta demande, tu renseignes les colonnes A et B, tu ne t'occupes pas des colonnes C et D, et dans la cellule E3 tu veux afficher
"" si A3="" et B3=""
1 si A3 ou B3 (ou les deux à la fois) contient quelque chose ?
Dans ce cas c'est très simple, la formule en E3 sera =SI(OU(A3<>"";B3<>"");1;"")
C'est ce que lermite222 te propose depuis le post 6 et te répète à peu près au post 12 !
Voir lignes 19 à 24 de https://www.cjoint.com/?mkgUiYEMm2 -
Tes mots sont dans la colonne A, tu veux les recopier dans une autre colonne en enlevant l'espace final ?
Voici un petit topo pédagogique : https://www.cjoint.com/?mkrGWROWvL
Concrètement, tu n'as besoin d'ajouter que la colonne résultat ; tu peux ensuite masquer la colonne A.
Donne-moi la réponse aux 2 questions de mon fichier, s'il te plaît.
... à tout à l'heure.-
Bonjour,
Je te fais parvenir une macro qui permet de faire ce travail
mais je n'ai pas faire fonctionner cette macro...
D'abord cette macro est-elle ok ?
Je vais voir ton message en détail, et je te réponds.
Merci
José
PS : macro
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub supprimerespaces()
‘on déclare les variables
Dim nbval, val As Variant
‘on sélectionne la cellule dans laquelle on a mis la petite formule =NBVAL(colonne) qui va nous permettre de savoir combien de données on a dans cette colonne.
nbval = Range("D1")
‘on fait une boucle sur la totalité des valeurs
For i = 2 To nbval
‘on prend la valeur de la celulle
val = Cells(i, 1)
‘on modifie cette cellule avec la fonction TRIM qui retire les espaces en début et en fin de chaine
val = Trim(val)
‘on re-selectionne la même cellule
Cells(i, 1).Select
‘on colle la valeur précédemment modifiée
ActiveCell.Formula = val
‘et on continue la boucle !
Next i
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
-
Désolé : je n'y connais strictement rien en macros.
-
Je ne vois pas, mais alors pas du tout le rapport entre tes questions précédantes et ton fichier,
Enfin, voir si en final, si c'est ce que tu veux.
https://www.cjoint.com/?mlmUof2O4p
A+
EDIT: J'avais pas lu que tu avais poser une autre question. -
Salut à tous, et remercions lermite22 qui nous rappelle fort opportunément l'existence de la fonction SUPPRESPACE() qui supprime tous les espaces avant et après une expression (et pas à l'intérieur).
Cela résout tous nos problèmes ! https://www.cjoint.com/?mlpy5GgpjE