adapter formule SI avec trois conditions

richard31

XLDnaute Occasionnel
Hello

Attention je n'ai pas droit aux VB !!! :(

Voilà j'ai la formule suivante qui fonctionne:
=SI(ESTVIDE(AE13-128);’ ‘;AE13-128)

En gros sur la celulle AE13 est vide on affiche rien , sinon on applique la formule AE13-128 en fait c'est pour indiquer le nombre de caractère qui dépasse 128! mais du coup ça m'affiche les négatif :( comment rajouter une condition qui indique de ne pas afficher les nombres négatifs ???

fichier joint..

Sinon explication du fichier ( si vous trouvez que des formules sont débiles ! )
Feuille "données" Colonne A nommée URL nous trouvons le chemin vers un fichier cible.
Colonne B le titre qui correspond au fichier.
le reste des colonnes doit être conservé mais aucun travail dessus..

En fait il faut avoir le résultat notifié en Feuille "Résultat souhaité".

Dans la colonne URL de la feuille "Données" il faut "découper" les informations. En fait on trouve comme info, le chemin vers un fichier qui est séparé avec des "\" et qui indique à chaque fois un répertoire. Exemple:
..\_Entreprise\Communautés\Structures\/DSC\Bibliothèque\Documents Privés ensemble DSC\Corpus Règlementaire\Documents Corpus Règlementaire\[11073207] fichedescriptive_xxx_aaa_bbb_ccc.pdf

Cela indique que le fichier se trouve dans le répertoire "Entreprise" ensuite " communautés" ensuite "Structure" etc etc. Jusqu'au fichier nommé "fichedescriptive_xxx_aaa_bbb_ccc.pdf" et bien il faudrait être capable de prendre ces informations et de créer une nouvelle feuille, avec pour chaque niveau une colonne nommée avec le nom du répertoire. Mais attention, seulement a partir de "Bibliothèque" !!Celui ci est considéré comme le niveau "0", C'est à dire avec l'exmple ci dessus, la colonne D ici on a "Bibliothèque" Colonne E on a " Documents Privés ensemble DSC\" etc .. Jusqu'au fichier mais attention, il ne faut pas prendre en compte le "\1.0" (ou \2.0 ..) que l'on trouve enfin de ligne dans la feuille "données" colonne A, il faut reporter juste le nom du fichier, cette info (1.0 2.0.. ) ne sert à rien.

Ci joint tout est expliqué dans le fichier Excel..Car compliqué à expliquer...

Ensuite créer une colonne "Nombre de Niveaux" (sur le fichier joint feuille "Résultat souhaité" colonne"AC") qui serai capable de comptabiliser le nombre de niveaux (répertoires) avant d'atteindre le fichier.
Une autre colonne nommée "Nombre de caractères fichier" (feuille "Résultat souhaité" colonne AD ) qui indique donc le nombre de caractère du fichier seul.

Une autre colonne "Nombre de caractère total" (colonne AE) qui comptabilise le nombre de caractère total en prenant en compte aussi les niveaux (additionner le nombre de caractère de chaque niveau).
 

Pièces jointes

  • Fichier de travail.xlsx
    67.5 KB · Affichages: 46

Paf

XLDnaute Barbatruc
Bonjour

En gros sur la celulle AE13 est vide on affiche rien , sinon on applique la formule AE13-128 en fait c'est pour indiquer le nombre de caractère qui dépasse 128! mais du coup ça m'affiche les négatif :( comment rajouter une condition qui indique de ne pas afficher les nombres négatifs ???

a priori
=SI(NBCAR(AE13)<128;"";NBCAR(AE13)-128)
ou
=SI(NBCAR(A13)>128;NBCAR(A13)-128;"")

A+
 

richard31

XLDnaute Occasionnel
Bonjour



a priori
=SI(NBCAR(AE13)<128;"";NBCAR(AE13)-128)
ou
=SI(NBCAR(A13)>128;NBCAR(A13)-128;"")

A+

CC !

on parle bien de l'entrée en AH11 ? Car ça ne fonctionne pas :(

En AE38 j'ai mis exprès un nobre de caractère supérieur à 128 (145) normalement cette formule :
=SI(NBCAR(AE38)<=128;" ";(AE38-128))
Devrai fonctionner ? si le nombre de caractères en AE36 est inférieur ou égal à 128 je mets rien, sinon je fais AE38-128 (donc 145-128) qui devrai afficher 17 !!!! pourquoi ça ne s'affiche pas :( :(
 

Paf

XLDnaute Barbatruc
re

Voilà j'ai la formule suivante qui fonctionne:
=SI(ESTVIDE(AE13-128);’ ‘;AE13-128)

on parle bien de l'entrée en AH11 ? Car ça ne fonctionne pas
Je n'ai fait que reprendre les références de cellules citées pour proposer:
=SI(NBCAR(AE13)<128;"";NBCAR(AE13)-128)

si on a 145 caractères en AE38
(AE38-128) ne peut fonctionner, on ne peut soustraire 128 d'une chaine de caractères !!

par contre NBCAR(AE38)-128, donnera la différence du nombre de caractères(145) et 128 (donc 17).

Il faut ouvrir le deuxième oeil !

A+
 

richard31

XLDnaute Occasionnel
re




Je n'ai fait que reprendre les références de cellules citées pour proposer:
=SI(NBCAR(AE13)<128;"";NBCAR(AE13)-128)

si on a 145 caractères en AE38
(AE38-128) ne peut fonctionner, on ne peut soustraire 128 d'une chaine de caractères !!

par contre NBCAR(AE38)-128, donnera la différence du nombre de caractères(145) et 128 (donc 17).

Il faut ouvrir le deuxième oeil !

A+


Yes !!

MErci m:

En fait je m'en sort tout simplement avec :
=SI(AE11>=128;AE11-128;"")

En AE je n'ai que des entrées en chiffres .. et la formule en AE qui compte le nombre de caractère de la ligne comprise entre E11:AB11 est :
=SI(ESTVIDE(E11:AB11);’ ‘;SOMMEPROD((E11:AB11<>"")*NBCAR(E11:AB11)))

Avec ces deux tout fonctionne sans problèmes et après vérif !:)

Merci encore de ton aide car c est dur dur // :(
 

Discussions similaires