exporter une fonction d'un classeur excel

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 !

pharell_j_fox

XLDnaute Nouveau
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+
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
213
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
481
Réponses
3
Affichages
449
Réponses
4
Affichages
439
Retour