Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1068 connectés 

 



Dernière réponse
Sujet : Clé SIRET
SuppotDeSaTante J'me suis débrouillé, ça a l'air d'être bon, j'en ai vérifié 3-4

 

Si ça peut servir à d'autre :

Code :
  1. Function Siret(Siren_et_Etab) 'Siren_et_Etab) '4289122810001
  2. 'Siren_et_Etab = CDbl("4289122810001" )
  3.  
  4. Dim Siren_et_Etab2, LngSiren, Val_Rang, Val_14 As Long
  5.    
  6.    
  7.    Siren_et_Etab2 = Siren_et_Etab & "0" 'on ajoute une "clé fictive" pour partir de la 14e place (rang 1)
  8.    LngSiren = Len(Siren_et_Etab2)
  9.    
  10.    For X = LngSiren To 1 Step -1 'on part de la fin
  11.    
  12.    
  13.        Val_Rang = Mid(Siren_et_Etab2, X, 1)
  14.      
  15.        If X Mod 2 = 0 Then 'Si le rang est paire on double
  16.        
  17.            Val_14 = Val_14 + Val_Rang '14e place = rang 1 ; 13e place = rang 2 etc. donc si X est paire, on n'ajoute pas le double
  18.            
  19.        Else
  20.            
  21.            
  22.            If (Val_Rang * 2) > 10 Then 'si le double a 2 chiffres
  23.            
  24.                Val_14 = Val_14 + Left((Val_Rang * 2), 1) + Right((Val_Rang * 2), 1) 'on ajoute l'addition des 2 chiffres du double
  25.                
  26.            Else
  27.            
  28.                Val_14 = Val_14 + (Val_Rang * 2) 'on ajoute le double
  29.                
  30.            End If
  31.            
  32.            
  33.        End If
  34.        
  35.        
  36.    Next X
  37.    
  38.    
  39.    If Val_14 Mod 10 = 0 Then 'si multiple de 10 ok
  40.  
  41.        Siret = Siren_et_Etab & 0
  42.  
  43.    Else
  44.  
  45.        Val_14 = 10 - (Val_14 Mod 10) 'sinon on garde le chiffre des unités du modulo
  46.        Siret = Siren_et_Etab & Val_14
  47.  
  48.    End If
  49.  
  50.  
  51. End Function


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
SuppotDeSaTante J'me suis débrouillé, ça a l'air d'être bon, j'en ai vérifié 3-4

 

Si ça peut servir à d'autre :

Code :
  1. Function Siret(Siren_et_Etab) 'Siren_et_Etab) '4289122810001
  2. 'Siren_et_Etab = CDbl("4289122810001" )
  3.  
  4. Dim Siren_et_Etab2, LngSiren, Val_Rang, Val_14 As Long
  5.    
  6.    
  7.    Siren_et_Etab2 = Siren_et_Etab & "0" 'on ajoute une "clé fictive" pour partir de la 14e place (rang 1)
  8.    LngSiren = Len(Siren_et_Etab2)
  9.    
  10.    For X = LngSiren To 1 Step -1 'on part de la fin
  11.    
  12.    
  13.        Val_Rang = Mid(Siren_et_Etab2, X, 1)
  14.      
  15.        If X Mod 2 = 0 Then 'Si le rang est paire on double
  16.        
  17.            Val_14 = Val_14 + Val_Rang '14e place = rang 1 ; 13e place = rang 2 etc. donc si X est paire, on n'ajoute pas le double
  18.            
  19.        Else
  20.            
  21.            
  22.            If (Val_Rang * 2) > 10 Then 'si le double a 2 chiffres
  23.            
  24.                Val_14 = Val_14 + Left((Val_Rang * 2), 1) + Right((Val_Rang * 2), 1) 'on ajoute l'addition des 2 chiffres du double
  25.                
  26.            Else
  27.            
  28.                Val_14 = Val_14 + (Val_Rang * 2) 'on ajoute le double
  29.                
  30.            End If
  31.            
  32.            
  33.        End If
  34.        
  35.        
  36.    Next X
  37.    
  38.    
  39.    If Val_14 Mod 10 = 0 Then 'si multiple de 10 ok
  40.  
  41.        Siret = Siren_et_Etab & 0
  42.  
  43.    Else
  44.  
  45.        Val_14 = 10 - (Val_14 Mod 10) 'sinon on garde le chiffre des unités du modulo
  46.        Siret = Siren_et_Etab & Val_14
  47.  
  48.    End If
  49.  
  50.  
  51. End Function

SuppotDeSaTante La plus part c'est pour checker, pas la fonction qui permet de calculer le 14ème chiffre
Si je demande c'est pour ne pas avoir à le faire, si quelqu'un avait ça sous la main, pas pour me faire un lien google :d

 

Edit : j'ai même tenté une recherche avec ton pseudo et celui de flash :whistle:

kiki29 Salut, une recherche ? https://www.google.com/search?clien [...] +cle+siret
SuppotDeSaTante Ca ressemble à un check sur les 14 chiffres et pas le calcul du 14ème non ?
Je regarderai avec autre chose que mon tél
:jap:
Je@nb https://forum.excel-pratique.com/ex [...] 85008.html ?
SuppotDeSaTante Hello,
 
Quelqu'un aurait sous la main une fonction excel (ou formule) pour calculer la clé (Le 14e chiffre) d'un Siret s'il vous plaît ?
 
:jap:

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR