OVH Cloud OVH Cloud

Test sur colonnes adjacentes (formules ou VBA)

1 réponse
Avatar
JMG
Bonsoir

Dans un tableau (sur 10 colonnes -> 2 colonnes par jours ouvres, et x
lignes)
Si valeur dans une colonne et dans colonne adjacente sur la même ligne -> =
1 unité
Si valeur dans 1 colonne, colonne adjacente vide -> = 1 unité

Ma solution pour le moment (ex: ligne 2, colonnnes A-I)
A2,B2 <>"", C2="",D2<>"" ==> = deux unités

J'ai inséré des colonnes entre chaque colonne adjacente dans laquelle se
trouve cette formule:
en B2:
=SI(ET(A2<>"";C2<>"");1;SI(ET(A2="";C2<>"");1;SI(ET(A2<>"";C2="");1;"")))
(formule recopiée vers le bas)
puis colonnes contenant les formules masquées
en bas de tableau NB(B2:Bx) (ligne masquée)
et enfin dans une cellule : =SOMME(Des cellules contenant les NB(....))

Je ne vois pas encore comment faire plus simple
(Je pensais à des SOMMEPROD, mais je maitrise pas trop)

Quelqu'un aurait-il une logique moins lourde que la mienne?
En VBA, je ne vois pas encore comment resoudre cela.

Merci de votre aide.

JMG

1 réponse

Avatar
Daniel
Bonsoir.
Non, mais tu peux peut-être simplifier ta formule comme suit :
SI(OU(A2<>"";C2<>"");1;"")
Daniel
"JMG" a écrit dans le message de news:
esrT3on%
Bonsoir

Dans un tableau (sur 10 colonnes -> 2 colonnes par jours ouvres, et x
lignes)
Si valeur dans une colonne et dans colonne adjacente sur la même ligne ->
1 unité
Si valeur dans 1 colonne, colonne adjacente vide -> = 1 unité


Ma solution pour le moment (ex: ligne 2, colonnnes A-I)
A2,B2 <>"", C2="",D2<>"" ==> = deux unités

J'ai inséré des colonnes entre chaque colonne adjacente dans laquelle se
trouve cette formule:
en B2:
=SI(ET(A2<>"";C2<>"");1;SI(ET(A2="";C2<>"");1;SI(ET(A2<>"";C2="");1;"")))
(formule recopiée vers le bas)
puis colonnes contenant les formules masquées
en bas de tableau NB(B2:Bx) (ligne masquée)
et enfin dans une cellule : =SOMME(Des cellules contenant les NB(....))

Je ne vois pas encore comment faire plus simple
(Je pensais à des SOMMEPROD, mais je maitrise pas trop)

Quelqu'un aurait-il une logique moins lourde que la mienne?
En VBA, je ne vois pas encore comment resoudre cela.

Merci de votre aide.

JMG