annee 2017

EXCEL ANNEE 2017

L'heure est venue de vous presenter

Une excel et bonne annee 2017 !

De la part de toute l equipe de VeriTi

Image 1

Bienvenue

sur le site des amis d'Excel

excel.veriti.net ou fr

Image 2

Musee

Visitez le "Musee VeriTi" 24h/24 - 7j/7, des "pepites" vous y attendent

Voir la suite
Image 3

Hommage

Thierry POURTIER alias 'Ti'
s'en est alle brutalement le samedi 13 novembre 2010...

Voir la suite
Image 4

Historique

Juillet 2013 : A l'occasion du 10eme anniversaire de VeriTi, j'ai décide de réparer et de remettre en ligne le site, avec une nouvelle version plus structurée tout en gardant les mêmes fichiers Excel

Voir la suite

Membre

+ Enregistrement
Message du rapport :*
Code de Confirmation*
5 - 1 = ?  
Entrez le résultat de l'expression
Maximum de tentatives que vous pouvez essayer : 10
 

Re : Calcul avec des grands nombres sous excel

Objet : Re : Calcul avec des grands nombres sous excel
par eric45 sur 24/05/2016 10:51:12

Bonjour à tous
Bonjour chrysaxel

Nous sommes tous des bénévoles et, si je peux me permettre, le "votre prompt réaction" ne pousse pas forcément à répondre "promptement" à la demande.

Pour ton pb, je te propose ceci :
Option Explicit

Sub lance_test
()
Dim multiplicande As Long         ' multiplicande'
Dim len_nb_1 As Integer
Dim multiplicateur 
As Long         ' multiplicateur'
Dim len_nb_2 As Integer
Dim 
Var As Integer
Dim tablo
() As Integer
Dim i 
As IntegerAs Integer
Dim a 
As IntegerAs IntegerAs IntegerAs IntegerAs Integer
Dim x 
As IntegerAs IntegerAs Integer
Dim resultat 
As String
Dim mav_01 
As Integerreste As Integer

multiplicande 
111111111
multiplicateur 
111111111

len_nb_1 
Len(CStr(multiplicande))
len_nb_2 Len(CStr(multiplicateur))

ReDim tablo(len_nb_1 len_nb_2 1len_nb_1 len_nb_2 1)

For 
1 To len_nb_2
    
Var = 0
    a 
0
    e 
len_nb_1 1
    
For 1 To len_nb_1 1
        
        
If len_nb_1 1 Then
            c 
1
            b 
len_nb_1 a
            a 
1
            tablo
(d1) = Right(Right((Mid(multiplicandeb1) * Mid(multiplicateure1)), 1) + Var, 1)
            If 
Len((Mid(multiplicandeb1) * Mid(multiplicateure1)) + Var) > 1 Then
                
Var = Left(((Mid(multiplicandeb1) * Mid(multiplicateure1)) + Var), 1)
            Else
                Var = 
0
            End 
If
        
End If
        
        If 
len_nb_1 And Var > 0 Then
            
' pour test'
            
Cells(21 i30 len_nb_1 d) = tablo(d1)
        Else
            
' pour test'
            
Cells(21 i30 len_nb_1 d) = tablo(d1)
            
tablo(d1) = Var
            
' pour test'
            
Cells(21 i30 len_nb_1 d) = Var
            If 
len_nb_1 Then Exit For
        
End If
        
    
Next j
    d 
1
Next i

For 0 To len_nb_1 len_nb_2 1
    
For 0 To len_nb_2 1
        mav_01 
mav_01 tablo(zx)
    
Next x
    mav_01 
mav_01 reste
    reste 
0
    
If Len(CStr(mav_01)) = 2 Then
        resultat 
Right(mav_011) & resultat
        reste 
Left(mav_011)
    Else
        
resultat mav_01 resultat
    End 
If
    
mav_01 0
Next z
For 1 To Len(resultat)
    If 
Left(resultat1) = 0 Then resultat Mid(resultat2) Else Exit For
Next y
' pour test'
MsgBox resultat
' pour test il faut que la cellule soit de format texte'
Range("A1") = CStr(resultat)
End Sub

C'est un peu capilotracté, mais cela fonctionne.
Macro QUE pour les entiers
Il y a certainement plus simple, mais c'est plus cher

A te lire
Eric

PS : fichier texte du code joint, il y a, à la prévisu, des caractères qui disparaissent
Copyright 2013 Powered by XOOPS © 2001-2013