Dérouler un nombre avec un certain pas automatiquement

Résolu/Fermé
virgile. Messages postés 6 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014 - 31 oct. 2014 à 13:10
oz@work Messages postés 127 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 20 janvier 2015 - 7 nov. 2014 à 21:55
Bonjour à tous,

je galère depuis quelques jours pour effectuer quelque chose qui me semble pourtant pas bien compliqué sur excel.

Enfait je voudrais simplement dérouler un chiffre inscrit dans une cellule dans une autre cellule avec un certain pas. Par exemple pour le chiffre 1 en A1 je voudrai en B1:B5 : 0,2 ; 0,4 ; 0,6 ; 0,8 ; 1. Si le pas est de 0,2. Je voudrai surtout que cela se fasse automatiquement au cas ou on change la valeur en A1.

Merci d'avance pour votre aide!
A voir également:

13 réponses

Mike-31 Messages postés 18317 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
Modifié par Mike-31 le 31/10/2014 à 13:20
Bonjour,

Deux possibilités, d'après ce que comprends il suffit de saisir dans ta cellule B1 0, 2 dans ta cellule B2 0,4 ensuite sélectionne les deux cellules et incrémente les vers le bas

ou par formule en B1 saisir 0,2 et en B2 =B1+0,2
et incrémenter B2 vers le bas

par contre quel est la relation avec A1 et son contenu 1
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
virgile. Messages postés 6 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014
Modifié par virgile. le 31/10/2014 à 19:29
Merci pour cette réponse, mais cela ne répond pas à mon problème.

Il faudrait qu'à partir d'une cellule, ou il y aurait un nombre d'inscrit, celui-ci soit déroulé automatiquement par excel selon un certain pas, par exemple 0,1.

J'ai essayé beaucoup de solutions comme mettre en A1:A500 le chiffre 0,1 (pour le pas) afin qu'un nombre quelconque (inscrit dans la cellule C1 par exemple) se déroule dans la colonne B en ayant préalablement inscrit une formule du genre si(B1<C1; B1+A1;"") en B2 (avec en B1 la condition de départ soit 0 pour moi). en double cliquant sur le carré en bas à droite de B2 le nombre se déroule jusqu'à A** et ensuite un blanc jusque A500 une fois le nombre en C1 déroulé en entier.

Deux problèmes à cette solution: la première est que le nombre à dérouler est limité par les cellules de la colonne A (du fait que la colonne B se déroule jusqu'à A500) mais ce n'est pas le plus grave.
En effet, en traçant la courbe avec en abscisse la colonne B et en ordonnée une formule fonction de la colonne B, les abscisses sont multipliées par 10 et l'ordonnée à l'origine n'est pas respectée. (voir photo jointe)

Je pense qu'il faut une macro pour faire ça mais je n'ai pas beaucoup de bases en VB...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
31 oct. 2014 à 19:46
Bonjour,

C'est surtout d'explications claires qu'on a besoin dans un premier temps.
Merci de déposer le fichier xls (réduit au nécessaire et anonymisé, avec les explications et éventuellement le résultat attendu) sur cjoint.com et coller ici le lien fourni.

eric
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 31/10/2014 à 19:51
Bonjour
sous réserve de compréhension, (ce qui n'est pas sur du tout) cet exemple à ajuster:
en A1 le nombre total
en A2 le pas
en B1, cette formule à tirer sur une hauteur suffisante pour l'ensemble ds ca, sachant que l'affichage est vide quand le nombre est atteint:

cette formule ne fonctionne que pour un départ sur la ligne 1, si le départ est au dessous, corriger le code LIGNE() de façon à ce qu'il donne 1 sur le premier résultat
exemple sur ligne 3: LIGNE()-2

crdlmnt

Ps:
si vous voulez un 0 au départ (qui sera toujours 0) placez le en B1 et commencez la formule sur ligne 2 avec LIGNE()-1

=SI(LIGNE()-1>$A$1/$A$2;"";$A$2*(LIGNE()-1))



Errare humanum est, perseverare diabolicum
0
virgile. Messages postés 6 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014
31 oct. 2014 à 19:59
Voici le genre de chose que je voudrai faire:

https://www.cjoint.com/?DJFt5Y4nUvF

Ici, la longueur à dérouler est en B1, j'ai choisi un pas de 0,1 dans la colonne D que j'ai incrémenté pour que la colonne E déroule le nombre en B1 si celui-ci est modifié. On vois sur la courbe y=2x+1 que l'ordonnée à l'origine n'est pas respectée et que les abscisses sont multipliée par 10. Cette solution pourrait me convenir si la courbe obtenue n'était pas faussée...

J'espère que c'est plus clair, je cherche juste à dérouler la longueur en B1 automatiquement dans une autre colonne avec un certain pas.
0

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

Posez votre question
Bonjour,

A tester:
C1:"pas"
D1:la valeur du pas (ici 0,1)
Formule à insérer en [E3:E46] : =SI(E2<$B$1;E2+$D$1;"")
Formule à insérer en [F2:F46] : =SI(E3<=$B$1;E3*2+1;"")

Résultat:
On peut modifier la longueur en B1 et le pas en D1.La colonne E (x) s'incrémente ainsi que la colonne F.

Le problème de la courbe (enfin la droite dans ce cas précis) viendrait du fait que les données soient prises en compte dans les colonnes E et F malgré qu'elles puissent être vides.Lorsque les colonnes E et F sont remplies jusqu'à la ligne 46, la courbe me semble correcte.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
1 nov. 2014 à 06:59
Bonjour
et ma proposition précédente ne convenait pas?
voici ce qu'elle donne dans votre modèle
(sans la colonne de 0,1)
https://www.cjoint.com/c/DKbhcS9gL5q

crdlmnt
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
Modifié par Raymond PENTIER le 1/11/2014 à 18:27
Bonjour virgile.

On veut bien essayer de t'aider, mais à condition que tu sois clair, précis et logique !
Les références de cellules de ton message initial (A1 et B1:B5) ne sont plus les mêmes dans ton message #2 (colonnes A, B et C) alors que dans ton message #5 et dans le fichier joint on voit apparaître les colonnes D, E et F !

"dans la colonne D que j'ai incrémenté pour que la colonne E déroule le nombre en B1 si celui-ci est modifié" : C'est beaucoup de peine pour rien !
En B1 tu saisis la longueur et en B2 le pas ;
ta colonne D ne sert plus à rien ;
en E3 la formule devient =SI(E2<$B$1;E2+$B$2;"") ;
et en F2 la formule sera =SI(E2="";NA();E2*2+1)

Enfin tu sélectionnes E1:F500 et tu fais Insertion/Graphique/Nuage de points en allant dans la fenêtre Création/Données/Sélectionner des données pour cliquer sur le bouton [Cellules masquées et cellules vides] et choisir l'option "Valeur zéro" ; tu obtiens un graphique correct qui commence avec une ordonnée à l'origine conforme ...
https://www.cjoint.com/c/DKbsGNDWj3t

C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
0
Bonsoir Virgile,

http://cjoint.com/?DKcaMaOvzzq

En B2: il faut renseigner la longueur à "dérouler".
En C2: il faut renseigner le pas.
La colonne E "déroule" la longueur B2 selon le pas C2 (avec un maximum de 99 pas (ligne100). [Abscisses]
La colonne F donne la valeur des ordonnées selon la formule Y=2X+1.

Le tableau renseigne correctement la formule.

TOUTEFOIS, en cas de modification du nombre d'abscisses, il faut modifier UNE chose:
- clic droit sur le tableau puis "Sélectionner des données"
- Dans le menu affiché, il y a une case [Plage de données du graphique] remplie pas =Feuil2!$E$2:$F$22 . Il faut juste remplacer le $F$22 par la dernière cellule de la colonne F affichée.

Par exemple, pour une longueur de 5 avec un pas de 0.2, il faudra mettre = Feuil2!$E$2:$F$27 .
0
oz@work Messages postés 127 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 20 janvier 2015 3
2 nov. 2014 à 02:15
oz devient oz@work .
Je me suis inscrit.Cela facilitera mes retours sur commentaires :P
0
virgile. Messages postés 6 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014
Modifié par virgile. le 2/11/2014 à 11:19
Merci à vous, je vais pouvoir me débrouiller avec ça!
0
virgile. Messages postés 6 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014
2 nov. 2014 à 19:02
Finalement j'ai réussi à faire une macro pour cela.

https://www.cjoint.com/?DKctajMAOuS

Dans mon cas ça me sert à calculer des efforts le long d'une poutre.

Juste un dernier problème, c'est que pour certaines valeurs de L (A1) la colonne B "déroule" L une fois de trop, ce qui fait qu'on se retrouve à L+pas à la fin.
0
oz@work Messages postés 127 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 20 janvier 2015 3
2 nov. 2014 à 22:37
Il me semble que, dans la programmation de la macro, while compteur < longueur devrait être remplacé par while compteur < (longueur - pas) .
0
virgile. Messages postés 6 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 2 novembre 2014
2 nov. 2014 à 23:30
il vaut mieux mettre une valeur inférieur au pas qu'on aura à envisager comme:
while compteur < longueur - 0.0005

comme ça je crois que le soucis est réglé!
0
oz@work Messages postés 127 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 20 janvier 2015 3
7 nov. 2014 à 21:55
Ca fonctionne aussi.
0