SOS calcul dans un tableau volumineux

Résolu
capeo Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -  
capeo Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   6 438
 
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 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 355
 
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   Statut Contributeur Dernière intervention   7 276
 
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   Statut Membre Dernière intervention  
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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   Statut Membre Dernière intervention  
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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   Statut Membre Dernière intervention  
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Est-ce que le radical additionnel est toujours strictement [-00] ?

0
capeo Messages postés 181 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   7 276
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Merci eriiic, bon dimanche, enfin ce qu'il en reste.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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   Statut Contributeur Dernière intervention   6 438
 
..suite
...........ne fonctionne que si le titre en A dans la cellule jaune correspond à la racine.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Merci Vaucluse, bon dimanche, enfin ce qu'il en reste.
0
capeo Messages postés 181 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   6 438
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   6 438
 
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   Statut Membre Dernière intervention  
 
merci pour toutes ces explications car parfois Excel 2007 ou Excel est un peu tordu pour un novice
0