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
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
A voir également:
- Dérouler un nombre avec un certain pas automatiquement
- Automatiquement - Guide
- Nombre facile - Télécharger - Outils professionnels
- Nombre de combinaison possible avec 4 chiffres - Forum Programmation
- Modifier un menu déroulant excel - Guide
- Mettre un 0 devant un nombre dans excel - Guide
13 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 31/10/2014 à 13:20
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.
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.
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
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...
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...
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
31 oct. 2014 à 19:46
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
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
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
Modifié par Vaucluse le 31/10/2014 à 19:51
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
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
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
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.
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.
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.
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.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
1 nov. 2014 à 06:59
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
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
Raymond PENTIER
Messages postés
58800
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
17 264
Modifié par Raymond PENTIER le 1/11/2014 à 18:27
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)
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)
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 .
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 .
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
2 nov. 2014 à 02:15
oz devient oz@work .
Je me suis inscrit.Cela facilitera mes retours sur commentaires :P
Je me suis inscrit.Cela facilitera mes retours sur commentaires :P
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
Modifié par virgile. le 2/11/2014 à 11:19
Merci à vous, je vais pouvoir me débrouiller avec ça!
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
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.
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.
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
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) .
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
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é!
while compteur < longueur - 0.0005
comme ça je crois que le soucis est réglé!
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
7 nov. 2014 à 21:55
Ca fonctionne aussi.