SOS calcul dans un tableau volumineux

Résolu/Fermé
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015 - 3 sept. 2014 à 18:34
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015 - 7 sept. 2014 à 20:03
Bonjour,

je joins un fichier qui sera plus explicite, je pense que de longues explication

Pouvez vous m'aider à résoudre ce problème sans macro ?

https://www.cjoint.com/?3IdsHaR2vcR

cdlt
A voir également:

12 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
3 sept. 2014 à 18:48
Bonsoir
une formule à placer sur la hauteur du champ à partir de E2, mais je ne sais pas ce que ça va donner sur le nombre de lignes!!

=SI(B2="";SOMME.SI(A:A;A2;C:C)-D2;"")

crdlmnt
2
Raymond PENTIER Messages postés 58761 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 décembre 2024 17 254
3 sept. 2014 à 18:56
Salut, Vaucluse.

Pourquoi te montrer aussi circonspect ?
Ta formule est astucieuse, simple et efficace ; je ne vois pas pourquoi le nombre de lignes serait un obstacle ...

Amitiés.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
3 sept. 2014 à 20:21
Bonjour à tous,

Plus rapide. Mais bon, pour 80000 lignes...
=SI(B2="";SOMME(DECALER($C$1;EQUIV(A2;A:A;0);;NB.SI(A:A;A2)-1))-D2;"")
eric
0
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015
6 sept. 2014 à 20:17
bonjour à tous

la formule fonctionne. mille excuses pour la réponse aussi tardive des problèmes de connexion internet.

En partant du même tableau, si j'ai deux références désignés avec deux écritures différentes, ça ne marche pas. y a t il moyen de corriger la formule pour prendre en compte ce plus.

merci
cordialement
claude
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
6 sept. 2014 à 21:39
Bonjour,
Dommage ce n'est pas clair... !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sanglier83 Messages postés 69 Date d'inscription mercredi 13 août 2014 Statut Membre Dernière intervention 28 avril 2016
Modifié par sanglier83 le 6/09/2014 à 21:54
re

Explication le format que capeo a donné comme exemple est de la forme AFC105 mais d'autre personne l'écrive par exemple AFC10500 ce qui perturbe la formule d'eric et celle de vaucluse. c'est souvent le pb quand une règle n'est pas définit

voilà je pense l'explication car cette formule m'interesse

cdlt
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
6 sept. 2014 à 21:56
Bonjour,
Super vous lisez dans les pensées de capeo mais est-ce vraiment son problème... ?

0
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015
6 sept. 2014 à 22:01
re

le pb soulever par sanglier n'est pas loin l'écriture est de la forme afc105-00 au lieu de afc10500

est ce sa répond à ta question ?
cdlt
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
6 sept. 2014 à 22:12
Bonjour,
Est-ce que le radical additionnel est toujours strictement [-00] ?

0
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015
Modifié par capeo le 6/09/2014 à 23:30
re

J'essaie de prévoir d'autres écritures tels que

afc105 ou afc105-00 ou afc105-000 par contre la base reste la même afc105, je l'espère

cdlt
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
7 sept. 2014 à 00:09
Bonjour,

tu te fais une colonne avec :
=substitue(A2;"-";"")
qui retirera tous les "-" et tu fais la recherche sur cette colonne.
eric
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
7 sept. 2014 à 16:25
Merci eriiic, bon dimanche, enfin ce qu'il en reste.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
Modifié par Vaucluse le 7/09/2014 à 07:18
Bonjour

Directement:

=SI(B2="";SOMME.SI(A:A;"*"&A2&"*";C:C)-D2;"")

qui ressortira le calcul si le texte de A2 est inclus dans les textes de A
attention aux signes

crdlmnt


Errare humanum est, perseverare diabolicum
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
7 sept. 2014 à 08:23
..suite
...........ne fonctionne que si le titre en A dans la cellule jaune correspond à la racine.
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
7 sept. 2014 à 16:24
Merci Vaucluse, bon dimanche, enfin ce qu'il en reste.
0
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015
Modifié par capeo le 7/09/2014 à 18:25
bonjour

1) quelques couacs alors je vous joint le tableau.

https://www.cjoint.com/?3IhsBunBsGD

2) " qui ressortira le calcul si le texte de A2 est inclus dans les textes de A
attention aux signes " si je comprends bien si A2 = adf145-00 je dois retrouver dans A cette base avec avec ou sans - ? par contre si A2= fco134-02 et qu'en A = fco1342
le calcul ne se fait pas.

3) "..suite
...........ne fonctionne que si le titre en A dans la cellule jaune correspond à la racine." je suis un peu perdu. est ce mon explication du dessus est vrai pour votre phrase ?

4) que veut dire "*"&A2&"*" ?

cdlt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
Modifié par Vaucluse le 7/09/2014 à 18:53
la réponse à la 1° question est dans la 2°

C'est à dire que le calcul avec cette formule, ne se fait que si le texte de référence dans la formule (donc celui en A de la ligne ou B est vide) correspond à la partie la plus courte à trouver dans des textes plus long (ce que j'ai donc appelé racine)
mais dans votre modèle, vous ne pouvez pas compter les CADO1100 avec le texte CADO-1100 en A2

si le seul problème est celui du tiret, vous pouvez combiner cette formule avec la proposition d'Eric, elle deviendra donc en E2:

=SI(C2="";SOMME.SI(A:A;"*"&SUBSTITUE(A2;"-";"")&"*";C:C)-D2;"")

ça semble donner un résultat correct, voyez dans le fichier joint.)
https://www.cjoint.com/?DIhsZ2RRSLr

ensuite:

attention aux signes voulait simplement dire d'écrire la formule sans oublier les " * ect...

.et votre dernière question

les "*" qui encadrent l'adresse de la cellule de référence signalent à Excel qu'il doit trouver en A le texte qui contient celui de A2
pour info:
"*"&A2 le texte A2 doit se trouver à la fin
A2&"*" le texte est au début
"*"&A2&"*" le texte est n'importe où

et pour conclure, vu le poids du modèle actuel, si vous avez réellement 80000 lignes à traiter je pense que ça ne fonctionnera pas et qu'il faudra recourir à VBA.. mais ce n'est plus mon domaine.
...........................(mais il est aussi possible que le poids chez moi vienne du transfert de xls vers xlsx, car à priori vous êtes en Excel 2003)

crdlmnt
0
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015
Modifié par capeo le 7/09/2014 à 19:19
re

encore mille merci pour toutes vos explications

1) sur combien de lignes le calcul se fait correctement ?

2) utilisez vous la poignée de recopie pour copier la formule ?

3) faut il que je crée un nouveau sujet pour faire la comparaison de la liste en bleue et celle en noire ?

cdlt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
7 sept. 2014 à 19:58
Question 1:
aucune idée... le calcul se fera toujours correctement, ce n'est qu'"une question de temps

Question 2
oui ou non,on peut éviter... :
placez le curseur dans la case à gauche de la barre de formule et entrez l'adresse du champ
(par exemple E2:E10000) et touche enter
le champ va se sélectionner complètement
inscrivez dans la barre de formule la formule qui correspond à la 1° cellule (E2 dans l'exemple)
et touche Enter en maintenant la touche ctrl enfoncée;
la formule va se placer sur tout le champ et s'ajuster aux lignes

A mon avis, si vous entrez E2:E80000, prenez un bouquin, ça va prendre un peu de temps!!

Mais je ne crois pas que vous ayez 80000 lignes (surtout si vous êtes en 2003, la feuille n'en a pas tant!)

question 3
je vous conseille d'abord de valider la capacité de votre modèle et ensuite, revenir , dans un autre sujet pourquoi pas, poser le problème suivant

crdlmnt
0
capeo Messages postés 181 Date d'inscription samedi 16 août 2014 Statut Membre Dernière intervention 29 juin 2015
7 sept. 2014 à 20:03
merci pour toutes ces explications car parfois Excel 2007 ou Excel est un peu tordu pour un novice
0