Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Calculer une suite jusqu'à n donné

  • Initiateur de la discussion Initiateur de la discussion frt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

frt

Guest
Bonsoir,

Je recherche une fonction (ou macro) permettant de calculer une suite de telle sorte que si je tape dans une cellule, 5, il m'affiche les 5 premières valeurs de la suite.

Merci de votre aide.
 
Re : Calculer une suite jusqu'à n donné

Bonjour frt
La demande n'est pas très précise (un classeur de démonstration serait le bienvenu), mais voici une ébauche de réponse.
Dans le classeur joint, si vous validez un nombre entier en B2, par exemple 5, vous obtiendrez dans cette même colonne les carrés des entiers de 1 à 5.
Bien entendu, pour obtenir autre chose que les carrés des entiers, il vous faudra modifier la fonction suite qui est dans le module Module1.​
ROGER2327
#1964
 

Pièces jointes

Re : Calculer une suite jusqu'à n donné

Bonsoir,

Désolé oui, j'ai assez mal expliqué mon problème.
Donc voilà un classeur comme convenu.

Je voudrais comprendre comment faire donc ceci.

Je tape tout d'abord ma valeur de U0 dans une cellule
puis je souhaite que avec une suite, par exemple : (2Un+1)/(4Un), calculer une suite jusqu'à un entier n.

Donc, si je tape 5; dans une cellule respective : U1 U2 U3 U4 U5 s'afficheront.
ou bien si je tape 9 : U1 U2 U3 U4 U5 U6 U7 U8 U9 s'afficheront, etc...
 

Pièces jointes

Re : Calculer une suite jusqu'à n donné

Re...
Effectivement, c'est tout autre chose. Il y a maintenant trois paramètres dont une fonction...
On verra peut-être cela demain...
(Le forum est riche : si ce n'est pas moi, ce sera un(e) autre. Patience...)
ROGER2327
#1966
 
Re : Calculer une suite jusqu'à n donné

Suite...
Un essai sommaire dans ce classeur.
Une condition indispensable pour un fonctionnement correct :
La formule en D6 ne doit pas comporter d'erreur de syntaxe.
Vous pouvez écrire
Code:
[COLOR="DarkSlateGray"]9/Un+4*Un/2[/COLOR]
mais pas
Code:
[COLOR="DarkSlateGray"]9/Un+4Un/2[/COLOR]
Vous pouvez aussi mettre 9 en A1, 4 en B1 et
Code:
[COLOR="DarkSlateGray"]A1/Un+B1*Un/2[/COLOR]
en D6.
C'est brut de fonderie : faites des essais !​
ROGER2327
#1968
 

Pièces jointes

Re : Calculer une suite jusqu'à n donné

bonjour frt

bonjour ROGER

Je l'ai fait , je le poste
et je regarde ce que vous avez fait ROGER
Entre parenthese pour moi aussi la formule doit etre correcte et ne comporter qu'une variable nommée Un
 

Pièces jointes

Re : Calculer une suite jusqu'à n donné

Re

Je constate que nous avons sensiblement la même inspiration

Toutefois pour ceux qui comme moi sont très en retard et en sont encore a Office 2000 français ( qui ne connait pas Decimalseparator ) une petite adaptation du code de ROGER
 

Pièces jointes

Re : Calculer une suite jusqu'à n donné

Bonjour pierrejean
Heureux de vous croiser (il y a un moment que ce n'est pas arrivé).
Re

Je constate que nous avons sensiblement la même inspiration

Toutefois pour ceux qui comme moi sont très en retard et en sont encore a Office 2000 français ( qui ne connait pas Decimalseparator ) une petite adaptation du code de ROGER
Nous sommes effectivement sur le même principe.
En reprenant le code, je m'aperçois que (avec ou sans DecimalSeparator) nous ne plaçons pas le contrôle au bon endroit.
Code:
[COLOR="DarkSlateGray"]Function suite(pDat As Range)
Dim i As Long, n As Long, terme As String, formule As String, table
   formule = "=" & pDat.Value2(3, 1)
   n = pDat.Value2(1, 1)
   ReDim table(0 To n + 1, 1 To 2)
   table(0, 1) = "U0"
   table(0, 2) = pDat.Value2(2, 1)
   For i = 1 To n
      terme = Replace(formule, "Un", table(i - 1, 2))
      terme = Replace(Replace(terme, ",", Application.DecimalSeparator), _ 
         ".", Application.DecimalSeparator)
      table(i, 1) = "U" & i
      table(i, 2) = Evaluate(terme)
   Next i
   suite = table
End Function[/COLOR]
me semble préférable, car ce code devrait accepter
Code:
[COLOR="DarkSlateGray"]9,5/Un+4,5*Un/2[/COLOR]
aussi bien que
Code:
[COLOR="DarkSlateGray"]9.5/Un+4.5*Un/2[/COLOR]
Évidemment, si DecimalSeparator n'existe pas, il faut le remplacer par "." ou "," en fonction du réglage du logiciel.
Qu'en pensez-vous ?​
ROGER2327
#1971
 
Re : Calculer une suite jusqu'à n donné

Re

Je n'ai pas de certitude mais je pense que
1) Vba n'accepte que le "." comme separateur decimal et qu'il n'est pas necessaire de proceder a son remplacement par la ","
2 ) Le seul probleme pourrait etre celui d'un anglophone ecrivant avec une "," en D5 (il la verrait réapparaitre en F3 (ou vice versa avec un francophone ecrivant avec un "." en D5), ce qui serait tout de même le cas avec ce code
 
Re : Calculer une suite jusqu'à n donné

Re...
Je n'ai pas plus de certitude que vous. Dans le doute, je laisse le contrôle.
En pièce jointe, une version modifiée pour étendre la possibilité de traiter des suites définies à partir de leur deux premiers termes, comme par exemple le grand classique : Un+1=Un+Un-1 avec U0=0, U1=1.​
Bonne soirée.
ROGER2327
#1972
 

Pièces jointes

Re : Calculer une suite jusqu'à n donné

Merci beaucoup pour votre aide !
J'aimerais vraiment comprendre comment vous faites, mais malheureusement j'y arrive pas !

je comprend rien aux macros. (Je pense que je vais lire la documentation d'excel pour un bon bout de temps).

Sinon, en essayant de faire des calculs, si imaginons je fais

"(8/U)-(U/4)"

ça m'affiche "#VALEUR!", peut être c'est à cause de ma version d'excel ? (2007)

je peux corriger ce problème comment ?
 
Re : Calculer une suite jusqu'à n donné

Re...
(...)

Sinon, en essayant de faire des calculs, si imaginons je fais

"(8/U)-(U/4)"

ça m'affiche "#VALEUR!", peut être c'est à cause de ma version d'excel ? (2007)

je peux corriger ce problème comment ?
C'est gentil de dire maintenant qu'il s'agit d'écrire du code pour Excel2007.
Pour corriger le problème, posez-le sur le forum spécialement consacré à Excel2007, ou, si vous le maintenez sur le forum général, prévenez que vous utilisez Excel2007. Ça nous évitera de perdre notre temps.
A part ça, à propos de votre exemple (8/U)-(U/4), il se peut que pour un certain n, Un prenne la valeur zéro. Auquel cas le terme suivant ne peut être calculé. Mais dans ce cas le message d'erreur est #DIV/0!. En fait, cela arrive si U0=0 ou U0=RACINE(32) ou U0=-RACINE(32).
Mais ce n'est sans doute pas ce qui vous arrive puisque vous avez le message d'erreur #VALEUR!.
N'ayant pas Excel2007 à ma disposition, je ne peux vous en dire plus.
ROGER2327
#1974
 
Re : Calculer une suite jusqu'à n donné

Re

Salut ROGER 🙂

dans mon post de 14h15 hier je disais ceci:

Entre parenthese pour moi aussi la formule doit etre correcte et ne comporter qu'une variable nommée Un

voici 2 fichiers qui fonctionnent pour la formule :
8/Un-Un/4

Avant de te lancer dans VBA je te suggere de faire un petit apprentissage de la rigueur dans l'ecriture
 

Pièces jointes

Re : Calculer une suite jusqu'à n donné

Bonjour pierrejean
Oui, la rigueur de l'écriture est essentielle !
J'aurais dû être plus clair dans le message #10 et c'est ma faute s'il y a une certaine confusion dans les notations. Dans le message #10, j'ai mis un classeur dans lequel j'ai modifié les notations : U pour Un et U' pour Un-1. Ceci pour permettre le calcul de suites déterminées par leurs deux premiers termes.
Par exemple, Un+1=Un + Un-1. L'écriture étant lourde, j'ai remplacé Un + Un-1 par U + U'.
Excusez-moi de n'avoir signalé cela que dans la pièce jointe. La clarté eût été plus grande si je l'avais fait dans le corps du message : voilà qui est fait.
Reste à savoir si les déboires de notre ami viennent ou non d'Excel2007. Ce n'est pas nous qui pourront le lui dire...​
Bon dimanche.
ROGER2327
#1975
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Fonction SI
Réponses
23
Affichages
436
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
318
Réponses
19
Affichages
708
Réponses
18
Affichages
607
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…