Dépassement de capacité (bis)

et avec Resultat = CDbl(Nombre) ^ 2 toujours la même erreur ? précise si c'est bien sur cette ligne de code que tu as l'erreur

oui du moment que je passe en "inputbox" et pas en "application.inputbox" j'ai l'erreur.

après, si je déclare mes variables en "variant", ça fonctionne.

Sub recherche_carre() Dim Nombre As Variant Dim Resultat As Variant Nombre = InputBox("Donnez un nombre") Resultat = Nombre ^ 2 MsgBox ("le resultat est ") & Resultat

Re-,

J'ai fait comme tous les répondants...

J'ai essayé, et aucun bug..

et en regardant ton profil....

Sub recherche_carre() Dim Nombre As Double Dim Resultat As Double [Surligner]Nombre = InputBox("Donnez un nombre")[/Surligner] Resultat = Nombre ^ 2 MsgBox ("le resultat est ") & Resultat End Sub

le déboggage me surligne la ligne "inputbox"

j'avais cru comprendre que VBA sur mac était pas parfait, mais à ce point.🤔

re,

je crois que Prompt:= cause un erreur sur mac,

essait avec Title:=

Nombre = Application.InputBox(Title:="Donnez un nombre", Type:=1)

j'avais cru comprendre que VBA sur mac était pas parfait, mais à ce point.🤔

Il faut comprendre que excel a été développé par microsoft ! et adapté à l'environnement mac qui n'a pas le même operating system.

peut être qu'un expert MAC pourra me donner la réponse si j'en croise un un jour.😁

en tout cas merci pour votre aide à tous.

je vais continuer mon apprentissage tranquilou en espérant ne pas retomber sur des trucs bizarres comme ça trop souvent.😉

Ok, donc moi je sens le fromage...

peut être qu'un expert MAC pourra me donner la réponse si j'en croise un un jour.😁

et avec Resultat = CDbl(Nombre) ^ 2 toujours la même erreur ? précise si c'est bien sur cette ligne de code que tu as l'erreur

oui du moment que je passe en "inputbox" et pas en "application.inputbox" j'ai l'erreur.

après, si je déclare mes variables en "variant", ça fonctionne.

Sub recherche_carre() Dim Nombre As Variant Dim Resultat As Variant Nombre = InputBox("Donnez un nombre") Resultat = Nombre ^ 2 MsgBox ("le resultat est ") & Resultat

pas du tout eriiic

en plus en tant que savoyard le fromage ça me connait.😉

donc comme je l'ai écrit plus haut, j'ai aussi l'erreur avec "resultat=CDbl(Nombre)^2

Bonjour,

ah, désolé, je n'avais pas vu ta réponse

InputBox("Donnez un nombre") et Application.InputBox("Donnez un nombre") ne sont pas typés pareil sur Windows :

2020 04 11 11 29 33

Par curiosité que donnent ces 2 résultats sur Mac ?

Sur PC une conversion implicite s'effectue dans les 2 cas. Peut-être que ça se fait mal sur Mac dans certains cas (?)

Dim Nombre As Double
Dim s As String
s = "5"
Nombre = s
Nombre = s ^ 2

après, si je déclare mes variables en "variant", ça fonctionne.

Comment est typé le résultat de Nombre? Variant/String ou Variant/Double ?

eric

PS : pour mettre en forme un code c'est l'icone </>

Bonjour

voici les info qui ressortent dans la fenêtre espion.

capture d ecran 2020 04 12 a 12 14 32

Bonjour,

soit la moitié des réponses...

eric

par rapport à ton code, ça donne ça:

capture d ecran 2020 04 12 a 12 50 01

et si je fais un "pas à pas", il me met le dépassement de capacité ici.

capture d ecran 2020 04 12 a 12 53 04

Donc a priori pas de lien avec InputBox, mais dépend du type.

Tu n'as pas de conversion implicite d'un String.

Ce qui n'explique pas que tu aies toujours l'erreur avec Resultat = CDbl(Nombre) ^ 2 puisque la conversion est explicite ?!?

eric

je pense que je vais devoir bidouiller à chaque fois.

Oui, je pense.

Ca sent le bug sur Mac mais c'est étonnant que ça ne soit pas ressorti plus tôt parce que ça parait gros...

Peut-être une maj fautive qui sera corrigée ensuite (?)

eric

Bonjour le fil

Et pourquoi vouloir absolument utiliser un String pour le calcul

Sub RechercherCarre()
Dim MonNombre As Double, Resultat As Double
MonNombre = CDbl(InputBox("Donnez un nombre"))
Resultat = MonNombre ^ 2
MsgBox ("le resultat est ") & Resultat
End Sub

Marche sans problème sur le mac de ma femme

Hé, Colombo, tu pourrais demander à ta femme si :

Sub recherche_carre()
Dim Nombre As Double
Dim Resultat As Double
Nombre = InputBox("Donnez un nombre")
Resultat = Cdbl(Nombre) ^ 2
MsgBox ("le resultat est ") & Resultat
End Sub

lui retourne également une erreur sur Resultat = sur son Mac ?

Ca m'étonne ça...

eric

Salut eriiiic,

Tu sais bien que c'est pareil

Rechercher des sujets similaires à "depassement capacite bis"