Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

mp5078

XLDnaute Occasionnel
Bonjour à tous ; je joins un tableau dans lequel se trouve les explications que je résume ici : calculer les 10 derniers numéros qui sont inscrits dans 1 cellule sur 2 dans une colonne ; merci d'avance pour votre aide.
Fichier modifié le 12/07/2012 à 12h05
 

Pièces jointes

  • mp5078_6.xlsx
    29.2 KB · Affichages: 50
Dernière édition:

mp5078

XLDnaute Occasionnel
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonsoir ; non je ne change pas la demande ; elle est toujours la même ; la seule chose c'est que je t'ai montré l'environnement dans lequel le tableau est situé ; c'est juste cela ; c'est pour que ce soit plus simple à comprendre ; c'est bien le dernier numéro situé dans la colonne C qui doit apparaître dans N18 et O18 ; donc rien de changé par rapport à la 1ere fois ; la difficulté c'est d'avoir des 0 au dessus dans la colonne C; il faut cependant qu'un 0 en saisie apparaisse en N18 et O18
Je t'ai joint un fichier modifié mp5078_5
merci ; amicalement


Bonsoir,
Voir PJ
Amicalement

J'arrive pas @ te comprendre, tu changes chaque fois la demande....
 

R@chid

XLDnaute Barbatruc
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonsoir,
Je peux te donner de l'aide si tu peux me décrire la logique par la quelle tu copies les données de tableau vers les colonnes C et D...
parce que je ne peux faire la différence entre un 0 qui signifie que la cellule est vide et un 0 qui est 0...
Désolé pour la mauvaise explication, je le dis souvent je ne suis pas français et ce qui ne m'aide pas @ comprendre des longs textes, je préfère les textes en 2 lignes et un fichier bien explicatif...
Amicalement
 

mp5078

XLDnaute Occasionnel
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonjour,
j'ai parfaitement compris ce qui te pose un problème ; je viens de mettre à jour le fichier qui devient mp5078_6 ; tu trouveras les explications détaillées avec des cas précis et des couleurs pour faciliter la compréhension ; effectivement ce n'est pas simple ; j'espère que tu trouveras une solution pour faire la différence des 0 vides et des 0 de saisie.
Je te remercie par avance ; bonne journée ; amicalement
NB : j'ai fait une erreur d'explication que je viens de corriger dans la pièce jointe que je viens de mettre à jour ; excuse moi c'est un peu de fatigue...



QUOTE=R@chid;1168119]Bonsoir,
Je peux te donner de l'aide si tu peux me décrire la logique par la quelle tu copies les données de tableau vers les colonnes C et D...
parce que je ne peux faire la différence entre un 0 qui signifie que la cellule est vide et un 0 qui est 0...
Désolé pour la mauvaise explication, je le dis souvent je ne suis pas français et ce qui ne m'aide pas @ comprendre des longs textes, je préfère les textes en 2 lignes et un fichier bien explicatif...
Amicalement[/QUOTE]
 
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonjour,
il vaut mieux de ne pas changer @ chaque fois le fichier de ton premier post, tu peux poster chaque nouveau fichier sur ton nouveau post...
Je vais voir...
Amicalement
 

mp5078

XLDnaute Occasionnel
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonsoir ; je viens de trouver une solution toute simple ; c'était pourtant facile : le dernier chiffre sorti on peut aller le chercher dans le tableau A puisque c'est le tableau de saisie ! j'ai mis des couleurs jaunes et verts ; les numéros sortent donc 1 fois 2 et dans l'ordre des colonnes I J K L M du tableau A et de haut en bas ; on rempli de haut en bas la colonne I et lorsqu'on arrive en bas on continue au haut de la colonne J et ainsi de suite ...... il faut donc trouver une formule N18 et O18 qui cherche les 2 derniers sortis dans le tableau A c'est tout ! et la on ne s’embête plus avec les 0 du tableau C ! peux tu me trouver les formules pour 018 et N18 ? merci

Pour l'autre problème , je vais réfléchir ; il y a peut être une solution

Amicalement


Bonjour,
il vaut mieux de ne pas changer @ chaque fois le fichier de ton premier post, tu peux poster chaque nouveau fichier sur ton nouveau post...
Je vais voir...
Amicalement
 

Pièces jointes

  • mp5078_7.xlsx
    29.3 KB · Affichages: 33
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonjour mp5078 :)

Suite à nos contacts, je vous propose un essai par VBA. Je ne suis pas certain, malgré vos explications, d'avoir tout compris. Pour les formules, je vous laisse aux bons soins de R@chid que je salue :)
 

Pièces jointes

  • mp5078_7 ver1.xls
    41 KB · Affichages: 36

R@chid

XLDnaute Barbatruc
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonjour @ tout,
Salut mon cher mapomme,
@ mp5078,
Pour reporter les valeurs de Tableau_A vers les colonnes C et D, tu fait =SOMME(Cellule), ce qui renvoie 0 en cas de Cellule=Vide mais c'est pas une belle façon de faire, je dois comprendre la logique de ce reportage pour le faire avec une formule simple...
Sinon, tu peux faire ==> =SI(Cellule="";"";Cellule) pour éviter les 0 en cas des cellules vides...
Comme ça, on aura pas de problème des 0...
Amicalement
 

mp5078

XLDnaute Occasionnel
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonjour

Merci à vous 2 ; oh la la mais ce n'est pas cela du tout ! dans le fichier sue je vous joint j'ai quasiment tout viré car tous ces tableaux vous embrouillent ! il ne reste plus que le tableau A et les 2 cellules dans lesquelles les dernier numéros jaunes et verts doivent apparaître ; je répète que le tableau A est le tableau de saisie donc plus besoin de s'occuper du tableau qui était à gauche et qui pose problème avec les 0 ! on saisi les nombres dans les colonnes jaunes et vertes dans l'ordre du haut vers le bas comme suit : d6 1er nombre d26 dernier nombre et on poursuit e6 ....e26 etc....jusqu'à h26 et il faut que les dernier nombres 15 et 18 vert et jaune du tableau A apparaissent dans I18 et J18 ; voila c'est tout.
Pour ce qui est des 10 derniers numéros j'ai mon idée très précise sur la question , mais chaque chose en son temps ; ce sera l'objet de mon prochain message une fois que celui-ci sera résolu
merci encore à vous 2.
Amicalement





Bonjour mp5078 :)

Suite à nos contacts, je vous propose un essai par VBA. Je ne suis pas certain, malgré vos explications, d'avoir tout compris. Pour les formules, je vous laisse aux bons soins de R@chid que je salue :)
 

Pièces jointes

  • mp5078_8.xlsx
    21.5 KB · Affichages: 34

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

(re)Bonjour mp5078,

En espérant avoir mieux compris...

Attention il y a des formules matricielles ! Deux possibilités avec des formules auxiliaires ou non.
Exemple d'une formule matricielle sans cellule auxiliaire pour les case jaunes:
Code:
=INDEX(A1:H26;MOD(MAX(SI(ESTNUM(D6:H26); SI(EST.IMPAIR(LIGNE(D6:H26)+COLONNE(D6:H26));LIGNE(D6:H26)/1000+COLONNE(D6:H26))));1)*1000;ENT(MAX(SI(ESTNUM(D6:H26); SI(EST.IMPAIR(LIGNE(D6:H26)+COLONNE(D6:H26));LIGNE(D6:H26)/1000+COLONNE(D6:H26))))))

Pour les cases vertes, remplacer IMPAIR par PAIR.

nb: noter que toutes les rérérences désignent le tableau A sauf la référence qui suit INDEX qui débute à A1 et se termine à la fin du tableau A.

nb: Si votre tableau s'étend en dessous de la ligne 999 remplacer 1000 par 10000 ou 100000... en tout cas par un nombre supérieur au plus grand numéro de ligne du tableau A.

nb: suivant la cellule de début du tableau A, il faudra peut-être intervertir les deux formules.

Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • mp5078_8 ver1.xls
    40 KB · Affichages: 38
Dernière édition:

mp5078

XLDnaute Occasionnel
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonjour

Cela fonctionne parfaitement ; merci beaucoup pour ce travail ; j'ai bien fait de simplifier la demande car je reconnais que c'était compliqué ; et comme je vous le disais j'ai réfléchis pour les 10 derniers numéros afin de ne plus subir les 0 ; j'ai trouvé le moyen de contourner ; je vous joins le dernier classeur pour la recherche des 10 numéros ; tout comme le classeur précédent j'ai simplifier au maximum ; merci d'avance pour cette dernière recherche ; l'explication se trouve à l'intérieur du classeur.
Amicalement
NB : je me rend compte que j'ai oublié un détail qui n'a peut être pas d'importance : les numéros se trouvant dans le tableau B peuvent être différents de celui tu tableau A ; ce qui compte c'est que lorsqu'on saisi les chiffres dans le tableau A cela sélectionne les bons chiffres dans le tableau B décalés à a chaque fois d' 1 unité lorsqu'on saisi 1 chiffre dans le tableau A et qu'on retrouve Les nombres du tableau B dans le tableau C.j'espère que mon explication est claire

(re)Bonjour mp5078,

En espérant avoir mieux compris...

Attention il y a des formules matricielles ! Deux possibilités avec des formules auxiliaires ou non.
Exemple d'une formule matricielle sans cellule auxiliaire pour les case jaunes:
Code:
=INDEX(A1:H26;MOD(MAX(SI(ESTNUM(D6:H26); SI(EST.IMPAIR(LIGNE(D6:H26)+COLONNE(D6:H26));LIGNE(D6:H26)/1000+COLONNE(D6:H26))));1)*1000;ENT(MAX(SI(ESTNUM(D6:H26); SI(EST.IMPAIR(LIGNE(D6:H26)+COLONNE(D6:H26));LIGNE(D6:H26)/1000+COLONNE(D6:H26))))))

Pour les cases vertes, remplacer IMPAIR par PAIR.

nb: noter que toutes les rérérences désignent le tableau A sauf la référence qui suit INDEX qui débute à A1 et se termine à la fin du tableau A.

nb: Si votre tableau s'étend en dessous de la ligne 999 remplacer 1000 par 10000 ou 100000... en tout cas par un nombre supérieur au plus grand numéro de ligne du tableau A.

nb: suivant la cellule de début du tableau A, il faudra peut-être intervertir les deux formules.
 

Pièces jointes

  • mp5078_9.xlsx
    26.2 KB · Affichages: 39
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonsoir mp5078,

Malgré la simplification, je ne suis pas certain d'avoir bien compris. Vous évoquez les dix dernières valeurs du tableau alors que pour moi ce sont les dix premières à moins que vous remplissiez le tableau en commençant par le bas.

J'ai essayé de pondre quelque chose qui n'utilise que le tableau B. A vous de juger.

Les formules sont toutes des formules matricielles. il y a trois formules différentes.

EN I6, à copier dans le reste du tableau A:
Code:
=INDEX(SI($E$2:$E$101="";"";$E$2:$E$101);100- (21*(COLONNE()-9))-(LIGNE()-{6}))

(6 et 9 sont respectivement le numéro de ligne et de colonne de la celluleI6)
(21 = nombre de lignes du tableau A)

En N14, à copier dans le reste de la colonne "N" du tableau C:
Code:
=INDEX($E$1:$E$101;PETITE.VALEUR(SI((ESTNUM($E$2:$E$101))*EST.IMPAIR(LIGNE($E$2:$E$101));LIGNE($E$2:$E$101);"");LIGNE()-13))

(13 correspond à la ligne de N14 diminué de 1)

En O14, à copier dans le reste de la colonne "O" du tableau
Code:
C:=INDEX($E$1:$E$101;PETITE.VALEUR(SI((ESTNUM($E$2:$E$101))*EST.PAIR(LIGNE($E$2:$E$101));LIGNE($E$2:$E$101);"");LIGNE()-13))

(13 correspond à la ligne de O14 diminué de 1)
 

Pièces jointes

  • mp5078_9 v1.xlsx
    19.7 KB · Affichages: 32
Dernière édition:

mp5078

XLDnaute Occasionnel
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonsoir ; merci pour ce travail ; mais ce n'est pas exactement ca....les chiffres su tableau C sont dans le bon ordre , mais il ne doit figurer aucune formule dans le tableau A car c'est le tableau de saisi qui sert aussi pour calculer le dernier numéro que vous m'avez fait ....VOILA LE PLUS IMPORTANT DÉCRIT CI APRES ; je vous décrit un exemple précis : ce qui déclenche l'écriture du 1er numéro en cellule N14 c'est la saisie d'un numéro en I6 par exemple le 4 qui écrira E101 en N14 ! dans notre exemple le 25 ; dès que le 2eme numéro 8 sera inscrit dans le tableau A le numéro 17 en E100 sera écrit automatiquement en N15 et ainsi de suite ; comme vous pouvez le constater les numéros en saisie du tableau A ne sont pas les mêmes que le tableau B ; c'est la synchronisation des cellules qui doit être pris en compte ; I6 avec E101 ; I7 avec E100 ; I8 avec E99 etc.....
C'est la saisie dans le tableau A qui déclenche l'envoi du numéro du tableau B dans le tableau C . J'ai rempli 20 numéros dans le tableau A qui doivent déclencher l'envoi de 20 numéros dans le tableau C ; avec le décalage il doit en rester 10 bien entendu... ; voila un autre exemple : à la saisie du 20eme numéro du tableau A qui est le 20 , le 20eme numéro 18 du tableau B est "envoyé"(copié) dans le tableau C et ainsi de suite jusqu'en haut du tableau B ; la saisie du tableau B est faite effectivement du bas vers le haut ; voila c'est long mais je pense que j'ai tout expliqué dans les moindres détails ; merci d'avance pour votre aide qui a du déja vous prendre beaucoup de temps !
Fichier joint corrigé.
NB : il faut que toutes les formules soient dans le tableau C ; aucune en B car dans mon tableau définitif celui ci comporte des formules .










Bonsoir mp5078,

Malgré la simplification, je ne suis pas certain d'avoir bien compris. Vous évoquez les dix dernières valeurs du tableau alors que pour moi ce sont les dix premières à moins que vous remplissiez le tableau en commençant par le bas.

J'ai essayé de pondre quelque chose qui n'utilise que le tableau B. A vous de juger.

Les formules sont toutes des formules matricielles. il y a trois formules différentes.

EN I6, à copier dans le reste du tableau A:
Code:
=INDEX(SI($E$2:$E$101="";"";$E$2:$E$101);100- (21*(COLONNE()-9))-(LIGNE()-{6}))

(6 et 9 sont respectivement le numéro de ligne et de colonne de la celluleI6)
(21 = nombre de lignes du tableau A)

En N14, à copier dans le reste de la colonne "N" du tableau C:
Code:
=INDEX($E$1:$E$101;PETITE.VALEUR(SI((ESTNUM($E$2:$E$101))*EST.IMPAIR(LIGNE($E$2:$E$101));LIGNE($E$2:$E$101);"");LIGNE()-13))

(13 correspond à la ligne de N14 diminué de 1)

En O14, à copier dans le reste de la colonne "O" du tableau
Code:
C:=INDEX($E$1:$E$101;PETITE.VALEUR(SI((ESTNUM($E$2:$E$101))*EST.PAIR(LIGNE($E$2:$E$101));LIGNE($E$2:$E$101);"");LIGNE()-13))

(13 correspond à la ligne de O14 diminué de 1)
 

Pièces jointes

  • mp5078_9 v1_mod.xlsx
    18.9 KB · Affichages: 28
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonsoir @ tous,
Pour moi je vais revenir dire que j'attends comprendre comment reporter les numéros de tableau vers les colonnes C et D...
Quand je comprends je répond
Amicalement
 

mp5078

XLDnaute Occasionnel
Re : Calcul des 10 derniers numéros d'une colonne avec décal des nombres 1 fois sur 2

Bonsoir Rachid

Dans mon dernier tableau mp5078_9_mod il n'y a pas de colonne C et D......!

Amicalement



Bonsoir @ tous,
Pour moi je vais revenir dire que j'attends comprendre comment reporter les numéros de tableau vers les colonnes C et D...
Quand je comprends je répond
Amicalement
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 920
Membres
103 404
dernier inscrit
sultan87