récupérer la valuer d'une formule

  • Initiateur de la discussion Initiateur de la discussion Iskandhar
  • 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 !

I

Iskandhar

Guest
Bonjour 🙂

C'est mon premier post. 🙂

J'ai une fonction en visual basic intitulée EAN13. Je veux appliquer cette fonction à la cellule A1. Exemple : =EAN13(A1). A1 contient la formule : =concatener(20;999;ENT(A2)). La fonction EAN13 plante 🙁 Il me faudrait simplement récupérer le résultat de la formule dans A1 (exemple : 2099912). Comment faire ?
 
Bonjour,

Euh.. tu le mets ou deja le EAN13 ? et il est sensé faire quoi ? et ça plante comment (message d'erreur ? #Valeur ? Hurlements de Gremlins en rut ?... ) 😱

A priori, je pense que ça serait un problème de format quelquepart, mais sans savoir comment est faite EAN13.. dur dur...

A+
 
Merci 🙂

EAN13 est une formule en VB qui calcule le code EAN 13 à partir d'une séquence de 12 chiffres. Je ne pense pas que le contenu de cette formule soit important. Il me semble que le problème est de récupérer le résultat d'une formule située dans une autre cellule.
 
SAlut,

Comment passes-tu ton argument à ta fonction??

essai de le passer par valeur
Code:
Function EAN13(ByVal 'Ton argument' as ....)


@+

PS: Avec un morceau de ta fonction ce serait plus simple

Message édité par: Minick, à: 11/08/2005 16:06
 
Dans la cellule B1, il y a la formule suivante : =CONCATENER(20;999;REPT(0;7-NBCAR(ENT(H3)));ENT(H3)).
J'ai, attachée à la feuille excel, une formule intitulée EAN13.
Je voudrais dans la cellule B1 écrire : =EAN13(CONCATENER(20;999;REPT(0;7-NBCAR(ENT(H3)));ENT(H3))). Mais j'ai un message d'erreur ? 🙁
 
Salut,

J'ai bien compri ton probleme mais
EAN13 est une fonction Vba donc le pb vient surement de la (enfin je pense)

Pour savoir à quel endroit cela plante il faudrait savoir ce que fait ta fonction et comment elle recupere ses arguments.

C'est pour cela que je te demande de nous joindre ta fonction EAN13
pour comprendre ou est le probleme

@+
 
Public Function ean13(chaine$)
'V 1.0
'Paramètres : une chaine de 12 chiffres
'Retour : * une chaine qui, affichée avec la police EAN13.TTF, donne le code barre
' * une chaine vide si paramètre fourni incorrect
Dim i%, checksum%, first%, CodeBarre$, tableA As Boolean
ean13 = ''
'Vérifier qu'il y a 12 caractères
If Len(chaine$) = 12 Then
'Et que ce sont bien des chiffres
For i% = 1 To 12
If Asc(Mid$(chaine$, i%, 1)) < 48 Or Asc(Mid$(chaine$, i%, 1)) > 57 Then
i% = 0
Exit For
End If
Next
If i% = 13 Then
'Calcul de la clé de contrôle
For i% = 2 To 12 Step 2
checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
Next
checksum% = checksum% * 3
For i% = 1 To 11 Step 2
checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
Next i%
chaine$ = chaine$ & (10 - checksum% Mod 10) Mod 10
'Le premier chiffre est pris tel quel, le deuxième vient de la table A
CodeBarre$ = Left$(chaine$, 1) & Chr$(65 + Val(Mid$(chaine$, 2, 1)))
first% = Val(Left$(chaine$, 1))
For i% = 3 To 7
tableA = False
Select Case i%
Case 3
Select Case first%
Case 0 To 3
tableA = True
End Select
Case 4
Select Case first%
Case 0, 4, 7, 8
tableA = True
End Select
Case 5
Select Case first%
Case 0, 1, 4, 5, 9
tableA = True
End Select
Case 6
Select Case first%
Case 0, 2, 5, 6, 7
tableA = True
End Select
Case 7
Select Case first%
Case 0, 3, 6, 8, 9
tableA = True
End Select
End Select
If tableA Then
CodeBarre$ = CodeBarre$ & Chr$(65 + Val(Mid$(chaine$, i%, 1)))
Else
CodeBarre$ = CodeBarre$ & Chr$(75 + Val(Mid$(chaine$, i%, 1)))
End If
Next
CodeBarre$ = CodeBarre$ & '*' 'Ajout séparateur central / Add middle separator

For i% = 8 To 13
CodeBarre$ = CodeBarre$ & Chr$(97 + Val(Mid$(chaine$, i%, 1)))
Next
CodeBarre$ = CodeBarre$ & '+' 'Ajout de la marque de fin / Add end mark
ean13 = CodeBarre$
End If
End If
End Function
 
- 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

Réponses
2
Affichages
100
Réponses
7
Affichages
383
Réponses
12
Affichages
548
Retour