exporter une fonction d'un classeur excel

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

P

pharell_j_fox

Guest
re à tous

Comment faire pour ajouter une formule présente dans un classeur excel
Dans la liste des formule disponible dans mon pc

Car j'aimerais l'utiliser sur un autre classeur avec d'autre formule qui elle même ne sont pas disponible dans ma liste de fonction disponible.

Voici le code(j'avou que je c pas si c'est ce qu'il vous faut pour m'aider)



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


A+

Pharell
 
Salut pharell, le forum.

Si tu veut pouvoir utilisé ta fonction dans n'importe quelle classeur il faut que le classeur contenant ta fonction soit ouvert.

Une méthode possible pour t'evité d'ouvrir ce classeur manuellement est d'enregistrer cette dernier dans le fichier perso.xls (c'est celui qui est créé quand tu enregistre une macro dans le classeur de macro personnelle (je ne sais plus où il ce trouve)).

A+
 
Salut PHARELL

Pour pouvoir l'enregistrer dans ton classeur de macro personelle voici la seul méthode que je connaisse :

1) depuis excel, tu lance l'enregistreur de macro où tu choisit comme fichier contenant la macro (enregistrer dans) : classeur de macro personnellle. Cela va te creer ton fichier.

2) tu ouvre VBE, et tu explorer le perso.xls (qui devrait être ouvert)

3) tu fait un copier coller de ta fonction de l'un vers l'autre et voila.

Mais fait atttention si tu est en raiseau novel et que ton post est susceptible d'être télérincé pense à sauvegarder le perso.xls avec son chemin car en cas de télérinçage tu perdra ce fichier...

A+
 
Salut Wilfried

Escuse pour le retard mais j'avais oublier de cocher 'me prevenir d'une reponse'

Merci pour la reponse,

Par contre dans VBE je n'est pas de dossier nommé perso.xls je comprend pas pourquoi.

A+
Pharell
 
- 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
15
Affichages
673
Réponses
4
Affichages
263
Réponses
8
Affichages
357
Réponses
5
Affichages
850
Retour