Decaller les valeurs des cellules espacées irrégulièrement

Bonjour à tous,

Je fais un fichier excel pour la gestion de stocks et je souhaite aligner en lignes les divers mouvements de stock d'un produit particulier. je m'explique:

sur la feuille1, j'ai le registre des mouvements (c'est à dire à chaque fois qu'il y a mouvement de stocks de n'importe qu'elle produit, c'est içi que je saisi). En feuille 2 j'ai récupéré les valeurs du mouvement de stock d'un produit bien préci (grace à la fonction SI); mais en tirant cette formule vers le bas, les cellules se remplissent de façon espacées irrégulièrement; c'est à dire:

A1= il ya une donnée

A2= il ya une donnée

A3=

A4= il ya une donnée

A5=il ya une donee

A6= il ya une donnée

A7=il ya une donnée

A8=

A9=il ya une donnée

A10=il ya une donnée

A11=

etc.

Voiçi donc mon besoin: je souhaite récupérer les données des cellules remplies en B1,B2,B3,B4,B5,etc; c'est à dire que je veux que excel parcours la colonne A (à partir de A1 juskà A50000), et qu'à chaque fois qu'il trouve une cellule remplie, il reporte son contenu en B1,B2,B3,etc; donc par exemple

B1=donnée de A1

B2=donnée de A2

B3=donnée de A4

B4=donnée de A5

B5=donnée deA6

B6=donnée deA7

B8=donnée deA9

etc.

je ne sais pas si vous me comprenez!

SVP quelqu'un pourrait il me venir en aide?

PS: juste dire qu'après avoir aligner ses donnée, je vais effectuer sur les donnée aligné (en B) le calcul du stock final, mais ca cest pas un problème)

Bonjour Vivian,

Formule à mettre en B1 et à valider avec CTRL+MAJ+ENTREE (formule matricielle) :

=SIERREUR(INDEX($A$1:$A$8;PETITE.VALEUR(SI(($A$1:$A$8)<>"";(($A$1:$A$8)<>"")*LIGNE($A$1:$A$8));LIGNE()));"")

bonjour

au cas ou tu aurais des soucis de validation de fonction matricielle

1) tu nommes la colonne A

tu fais Ctrl et la touche F3 simultanement >>>definir un nom ex: cola

tu saisis la formule suivante pour rendre la colonne dynamique ( pas de soucis de place )

=DECALER(Feuil1!$A$1;;;EQUIV(9^9;Feuil2!$A:$A;1))

2) dans la colonne B tu saisis la formule

=SI(LIGNE(A1)>NBVAL(cola);"";INDEX(cola;SOMMEPROD(PETITE.VALEUR((cola<>"")*LIGNE(cola);NB.VIDE(cola)+LIGNE(A1)))))

tu tires vers le bas

vu le grand nb de ligne cela risque de mouliner un peu >>>>>merci une soluce en vba

cordialement

Bonsoir à vous de nouveau,

Peut être je ne comprend pas très bien les formules qui m'ont été données, donc j'ai mis le fichier en piece jointe.

En effet, sur la feuille "MAIS" j'ai récupéré les valeurs de "dates" dans le cas ou le produit qui subi le mouvement (feuille registre des mouvements) est PATATE, et ceci s'est fait par SI....

Maintenance comme vous constaterez, les celules (en lignes) de la feuille "MAIS" sont remplies et espacées irrégulièrement; donc je souhaite donc avoir leurs contenu selon l'alignement montré par les flêches.

Merci encore pour vos réactions

re

plouf!...... pas de chance pour moi c'est en .rar comme (rare)

Bonsoir tulipe_4

voiçi le fichier en point xlsx

8classeur1.xlsx (11.93 Ko)

re

je me suis enfin decidé a telecharger le convertisseur ..........

un essai

16vivian.zip (232.24 Ko)

cordialement

Génial Tulipe_4

c'est ce que je voulais. Ouaouhh, j'ai l'impression que Excel est un monde que dois encore découvrir car c'est passionnant ca.

MERCI pour ton aide aussi précieuse, chapeau!!

PS: peut tu stp me donner quelques éclaircissements sur les formules que tu as utilisé, afin que je puisse les encrer efficacement dans ma mémoire pour résoudre d'éventuels futurs cas.

Re,

@Tulipe : si tu veux décompresser les fichiers rar, tu peux utiliser le logiciel de décompression 7-Zip. Il est gratuit !

re

voila les explications et......... une autre facon d'avoir le meme resultat

9vivian2.zip (6.41 Ko)

cordialement

ps vba new: c'est fait j'y ai mis le temp......

Bien reçu tulipe_4,

vraiment un grand merci à toi, pour cette aide.

Je vais prendre le temps nécessaire pour bien comprendre tes explications, et surtout la nomination des colones et les formules y afférentes, afin d'essayer d'améliorer mes données.

Merci encore

Bonsoir A vous,

je reviens vers vous car j'ai un autre petit souci: en effet, concernant ma gestion des stocks, puisqu'il y a plusieurs produits (variétés) ayant chacun plusieurs types, je souhaite faire ceci:

1- choisir une variété (dans une liste déroulante)

2- choisir dans une autre liste déroulante le type dont je veux observer les mouvements de stocks (NB: le type doit correspondre à la variété choisie)

Je ne sais pas si vous me comprenez!

donc par exemple:

variété choisie: patate (ayant comme type: patate douce, patate frit, patate à la soupe, etc...)

type à observer: patate douce

et ca affiche l'etat des mouvements de la patate douce: 1 mai: 10 tonnes entrée

2 mai: 5tonnes sorties

etc...

VOI9I LE FICHIER JOINT.

Merci de votre aide.

Rechercher des sujets similaires à "decaller valeurs espacees irregulierement"