attrubuer un n°d'ordre

LE MATIN

XLDnaute Occasionnel
attribuer un n°d'ordre

Bonsoir,

pour créer dans mon fichier une feuille recapitulative avec la fonction recherchev je dois ( enfin.....il me semble:) ) donner un n° d'odre a chaque ligne de ma liste. compte tenu de la structure et de la longueur de cette liste, je cherche à automatiser cette tâche
merci par avance pour votre aide
PS je joins un petit fichier exemple avec plus de précisions.
 

Pièces jointes

  • societe.xls
    17.5 KB · Affichages: 64
Dernière édition:

Celeda

XLDnaute Barbatruc
Re : attrubuer un n°d'ordre

Bonsoir,

En attendant les formulistes et les sommprodistes, les vébéaistes, une réponse de tcdéenne :

une synthèse sur plusieurs feuilles.

Choisir TCD multifeuilles.

Mais on pourrait moins se casser la tête et placer toutes les années dans une
même feuille; c'est juste une petite suggestion.

D'autre part, voici un excellent fil avec quelques formules de recherches :
en v, en h, en index, en sommeprod, en décaler: il y a le choix pour t'aider à comprendre pour le renvoi de valeur recherchées dans une base.


https://www.excel-downloads.com/threads/equiv-index-la-pagaille.69474/
 

Pièces jointes

  • SyntheseSOciete.xls
    34 KB · Affichages: 59
  • SyntheseSOciete.xls
    34 KB · Affichages: 60
  • SyntheseSOciete.xls
    34 KB · Affichages: 62

LE MATIN

XLDnaute Occasionnel
Re : attribuer un n°d'ordre

Celeda à dit:
Bonsoir,

En attendant les formulistes et les sommprodistes, les vébéaistes, une réponse de tcdéenne :

une synthèse sur plusieurs feuilles.

Choisir TCD multifeuilles.

Mais on pourrait moins se casser la tête et placer toutes les années dans une
même feuille; c'est juste une petite suggestion.

D'autre part, voici un excellent fil avec quelques formules de recherches :
en v, en h, en index, en sommeprod, en décaler: il y a le choix pour t'aider à comprendre pour le renvoi de valeur recherchées dans une base.





https://www.excel-downloads.com/threads/equiv-index-la-pagaille.69474/




bonjour Celeda,le forum,

tout d'abord merci de ta réponse.

j'ai regarder ton fichier et ta proposition; en fait, je connais très mal les TCDs
et j'ai toujours beaucoup de mal à paremetrer correctement pour afficher les resultats souhaités, de plus, une presentation de resultats sous forme de tableau me semble toujours mieux.
Une presentation de toutes les années sur la même feuille serait bien sûr possible dans mon exemple mais mon fichier réel comporte beaucoup plus de colonnne en particulier pour la ventilation du montant.

sans vouloir te vexer Celeda :eek: , je suis donc preneur d'autres solutions
Merci
PS merci pour le lien, je vais voir de ce pas :)
 

Celeda

XLDnaute Barbatruc
Re : attrubuer un n°d'ordre

Bonjour,

Mais tu ne me vexes pas du tout LE MATIN; je n'ai pas cet état d'esprit là;
je suis une pro active des solutions diverses et détonnantes mais efficaces !!!
Tu verras quand tu me connaîtras mieux :D lol!! Je suis trop respectueuse des desiterata de chacun.

Bon revenons à nos petits :



1-
je connais très mal les TCDs
Je te donne une excellente occasion de les apprendre par cette compil sur plusieurs feuilles :)

XLD est une véritable école : on peut apprendre selon son rythme, les "profs" sont sympas; on peut se taper à la récré et s'embrasser en revenant sur les bancs !!! et en plus elle ne coûte rien cette école !!!lol

2-
une presentation de resultats sous forme de tableau me semble toujours mieux.
mais le TCD est un tableau que l'on peut triturer et faire afficher sous toutes sortes de forme les résultats :)

3
je suis donc preneur d'autres solutions
alors voici une solution hyper simple en somme prod : ici j'ai simplement géré les montants à totaliser dans la feuille récap (TCD); je me suis basée sur le nom de la feuille; je n'ai pas géré les listes des clients pour ne pas avoir à jongler avec la numérotation et créer des imbrications de formules pour retrouver le nom du client. IL me semble qu'en créant une liste de clients et en l'insérant directement dans la feuille récap se serait plus simple.
Voir tout ce qui se pratique sur les listes.

soit les formules pour Année1 =
=SOMMEPROD(($I$1&$H2=ANNEE1!$A$1&ANNEE1!$B$2:$B$7)*(ANNEE1!$G$2:$G$7))
attention de changer pour chaque Année la longueur des matrices ou toutes
les mettre de la même longueur


soit pour l'année dans l'onglet =
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)

Naturellement il existe d'autres formules pour obtenir le même résultat.
 

Pièces jointes

  • SYnthesesocieteSP.xls
    37 KB · Affichages: 81

mjo

XLDnaute Impliqué
Re : attrubuer un n°d'ordre

Bonjour,

Petite remarque préliminiare :
Il faudrait que les en-têtes de colonnes de la feuille recap soient identiques aux noms des onglets (avec ou sans espace).

Et pourquoi ne pas établir la liste des clients directement sur la feuille recap et choisir le nom des clients pour chaque année au moyen d'une liste de validation ?
Dès lors sous la feuille recap il suffit de placer une formule (RECHERCHEV ou INDEX) et de l'étendre sur tout le tableau pour rapatrier les montants sur base des en-têtes de colonnes.

Si mon explication n'est pas claire, je joindrai un exemple.

mjo
 

LE MATIN

XLDnaute Occasionnel
Re : attrubuer un n°d'ordre

Bonjour à tous,

RE celeda
ton fichier correspond à ce que je veux faire, malheureusement tes formules dépassent ...et de loin, mes competences excel
la formule de la feuille TCD: confused: que signifie & ??? etc....
celles des feuilles années c'est semble t-il la même pour chaque année:confused:
comme tu t'en doute je n'est rien compris au fonctionnement de ces formules et je ne pourrais pas les adapter à mon fichier réel.peux-tu me donner quelques explications. merci

RE mjo
je suis décidement nul en excel! je comprends pas très bien ce que signifie "liste de validation" par contre je connais un peu la fonction recherchev;un petit fichier me serais utile :)
merci a tous pour votre aide precieuse à un débutant excel
 

Celeda

XLDnaute Barbatruc
Re : attrubuer un n°d'ordre

Bonsoir,

ah que oui allegro50!! c'est bien mieux comme affichage!!! comme le désire notre ami LE MATIN, sous une forme de tableau annuel.

Quant aux formules de somme prod, pour les explications :

je n'ai pas voulu me casser la tête, j'avais pas l'intention de numéroter les clients (mjo te propose une explication en liste de validation avec de la RechercheV, et tu comprendras mieux) pour faire des imbrications d'index et de min (spécialités moniqueste lol!) donc je t'ai fait un truc basique (je suis pas très compliquée dans ma tête mais je suis une femme!!! lol!!:D :D )

donc le principe, j'ai placé une formule de reconnaissance du Nom de l'onglet dans chaque feuille année, en A1.
On va se servir de cette reconnaissance de Nom, parce qu'on en a besoin pour avoir la relation entre l'année et le client dans la feuille récap.

La formule dit simplement ceci :
fais la sommeprod (voir avec F1 les diverses explications de cette fonction) de $I$1&$H2, du libellé en I1 et du libellé en H2 qui correspondent à
l'année en A1 de chaque feuille ! ANNEE1!$A$1 et $ à la matrice $B$2:$B$7,située toujours dans la feuille! ANNEE1 (ceci est valable pour la colonne ANNEE1, à modifier pour les autres années)

Les signes $ permettent de figer la matrice. Car avec sommeprod, on parle toujours d'une matrice et pas de Matrix!!! lol mais c'est kif kif.
En fait, on recherche à matcher deux libellés qui se trouvent dans la base intiale et ensuite, on lui demande de faire le total * la somme avec ce signe * de la colonne dans laquelle se trouvent les montants, une autre matrice (* veut dire Et - voir l'appli SommeProdSumProduct pour avoir quelques exemples de ces fonctions et des signes *,+,-).

Et quand on parle de matrice et de somme prod, il faut faire gaffe aux plages qui doivent être identiques dans les différentes parties utilisées de la formule, sinon, elle aime pas cela et elle te retourne des # de toutes sortes, tantôt, elle te met l'erreur #Nom, #Nombre,#Valeurs, ect, bref, et on cherche pendant des herues son erreur!!!

Voilà pour de sommaires explications à la Celeda. Les puristes me corrigeront s'ils le souhaitent. Mais c'est très buvable SOmmeProd. Le seul bémol que je lui trouve par rapport à un TCD est qu'elle peut être longue dans les calculs quand on travaille avec une grosse base de donées.

Et pour tout te dire, en fonction du nombre d'années que tu auras à exploiter, tu risque de ramer au bout d'un moment; c'est pourquoi en ayant recours au TCD, on accélère l'affichage des résultats; mais lui aussi il a des limites et parfois en travaillant avec des grosses bases de données genre 30000 lignes sur 20 colonnes, on trouve des astuces pour le faire fonctionner au maximum de ses limites.

Ceci dit, je crois que des bonnes volontés se sont réunies pour t'aider et tu vas oublier le mot nul : nous avons tous commencé par marcher à quatre pattes avant de pouvoir se tenir debout alors disons que tu es au stade de la découverte!!! et parfois c'est merveilleux la découverte de l'autre !!! lol!


ps: sorry pour la longueur du texte!!!
 

LE MATIN

XLDnaute Occasionnel
Re : attribuer un n°d'ordre

Bonjour à tous, celeda, mjo, le forum,

tout d'abord merci, .......que dire de plus.

celeda:tes explications sont très completes et vont m'aider à progresser... mais il me faut aprofondir la question et je pense pas pouvoir appliquer cette formule à mon fichier reel dans l'etat de mes connaissances actuelles.

mjo: je viens de regarder ton fichier je dois bien relire tes explications mais je dois pouvoir( peut être )m'en sortir :), merci à toi

pour allegro50: oui, ton TCD me plais bien, voila un TCD comme je les aiment :D
Merci a vous tous, je vous tiens au courrant de ma progression
 

LE MATIN

XLDnaute Occasionnel
Re : attribuer un n°d'ordre

LE MATIN à dit:
Bonjour à tous, celeda, mjo, le forum,

mjo: je viens de regarder ton fichier je dois bien relire tes explications mais je dois pouvoir( peut être )m'en sortir :), merci à toi

re bonjour,
en fait je m'en sort pas vraiment
j'ai tenter de comprendre ta formule

=SI(NB.SI(INDIRECT(F$1&"!A:B");$A2)=0;"";RECHERCHEV($A2;INDIRECT(F$1&"!$A:$B");2;0))
j'ai un doute sur les termes en rouge ils correspondent la plage de l'onglet annee ou celui de feuil recap?
la ref en bleu concerne la cellulle de la feuille annee
si les réponses sont oui, il me semble avoir adapter la formule correctement à mon tableau et..... bien sur cela ne fonctionne pas :mad: renvoi #REF
help.......
 

mjo

XLDnaute Impliqué
Re : attrubuer un n°d'ordre

Re,

NB.SI(INDIRECT(F$1&"!A:B");$A2)=0
En réalité j'aurai du écrire cette partie de formule :
NB.SI(INDIRECT(F$1&"!A:A");$A2)=0
mais ma petite erreur ne prête pas à conséquence.
Pour la colonne F, cette fromule aurait pu s'écrire :
NB.SI(ANNEE1!A:A");recap!$A2)=0
Si la valeur en A2 de la feuille "recap" n'est pas présente (=0) dans la colonne A de la feuille ANNEE1, alors on ne fait rien.
ANNE1 a été remplacé par la fonction INDIRECT faisant référence au contenu de la cellule F1, de façon à pouvoir copier cette formule vers la droite, sans devoir la modifier ANNEE1 en ANNEE2 et ANNEE3.
De là ma remarque sous ma première réponse : il faut que les en-têtes de colonnes soient tout à fait indentiques aux noms des onglets (espaces compris).

RECHERCHEV($A2;INDIRECT(F$1&"!$A:$B");2;0)
Ici aussi la formule aurait pu s'écrire :
RECHERCHEV(recap!$A2;ANNEE1!$A:$B");2;0)
ANNEE1 a aussi été remplacé pour la même raison : copie vers la droite sans modification.
Par contre, c'est bien la plage A:B, on cherche la valeur de A2 (feuille recap) dans la première colonne (feuille ANNEE1) et on renvoie la valeur de la colonne B de cette même feuille (la 2).

Si ces explications ne permettent pas de t'en sortir, met un bout de ton fichier en pièce jointe, ou si ce fichier est trop gros, je te laisse mon adresse e-mail en message privé à ta première demande.

mjo
 

LE MATIN

XLDnaute Occasionnel
Re : attrubuer un n°d'ordre

bonsoir mjo le forum,

j'ai essayer d'adapter ta formule à mon fichier mais ça fonctionne toujours pas:(

tes explications ne pouvaient pourtant pas être plus claires ....et je pensais avoir compris.
l'exemple avec la structure réelle du fichier est tros gros, peux tu m'envoyer ton e- mail en MP merci encore pour ton aide :)
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
481

Statistiques des forums

Discussions
312 572
Messages
2 089 819
Membres
104 284
dernier inscrit
Yohan90