Bonjour,
Débutant Visual basic, j'aimerai y créer des fonctions que je pourrais utiliser dans mes cellules.
Est ce possible ?
Si oui, comment s'y prendre ?
Merci
[Résolu] Utiliser dans une cellule une fonction visual basic
6 messages
• Page 1 sur 1
[Résolu] Utiliser dans une cellule une fonction visual basic
Dernière édition par zakuli le 21 Août 2009, 23:03, édité 1 fois.
- zakuli
- Utilisateur occasionnel
- Messages: 10
- Inscription: 20 Août 2009, 16:38
- Version Excel: 2003 FR
Bonjour,
pour écrire du code visual basic:
- alt+F11 depuis excel
- ensuite menu insertion et Module
- dans la fenêtre propriété ( en bas à gauche ) renomme le module ( Module1 ) pour quelque chose de plus explicite ( MesFonctionsPerso )
- dans la grande fenêtre de droite tu peux y écrires tes fonctions
reste à savoir maintenant le genre de fonction que tu veux écrire. Voici un petit exemple de fonction qui additionne deux valeurs:
ta fonction s'appelle AdditionSimple, elle prend deux valeurs en paramêtre ( Valeur1 et Valeur2 ). Ensuite, on affecte la valeur de l'opération ( Valeur1 + Valeur2 ) à la fonction AdditionSimple pour qu'elle puisse retourner le résultat.
Ensuite on peut l'utiliser comme les autres fonctions Excel.
Si tu as des questions hésite pas
Bonne journée
pour écrire du code visual basic:
- alt+F11 depuis excel
- ensuite menu insertion et Module
- dans la fenêtre propriété ( en bas à gauche ) renomme le module ( Module1 ) pour quelque chose de plus explicite ( MesFonctionsPerso )
- dans la grande fenêtre de droite tu peux y écrires tes fonctions
reste à savoir maintenant le genre de fonction que tu veux écrire. Voici un petit exemple de fonction qui additionne deux valeurs:
- Code: Tout sélectionner
Public Function AdditionSimple(Valeur1, Valeur2)
AdditionSimple = Valeur1 + Valeur2
End Function
ta fonction s'appelle AdditionSimple, elle prend deux valeurs en paramêtre ( Valeur1 et Valeur2 ). Ensuite, on affecte la valeur de l'opération ( Valeur1 + Valeur2 ) à la fonction AdditionSimple pour qu'elle puisse retourner le résultat.
Ensuite on peut l'utiliser comme les autres fonctions Excel.
- Code: Tout sélectionner
=AdditionSimple(A1;A2)
Si tu as des questions hésite pas
Bonne journée
-

Math - Membre dévoué
- Messages: 726
- Inscription: 05 Déc 2007, 18:57
- Localisation: Québec, Canada
- Version Excel: 2003 FR
Merci Math,
C'est parfait comme explication je ne pouvais espérer mieux.
Et en plus ça marche parfaitement.
Encore merci pour tes explications.
Peut être peux tu me renseigner aussi sur un autre point, peut on explorer une chaine de caractère de type String avec, si n est le numéro du caractère à sélectionner, une instruction du type str(n) ou str.n ou str[n] et comment on ferme une chaine.
Pour l'exemple, prenons une fonction qui voudrait supprimer les espaces d'une chaine (je sais que ça existe déjà, mais c'est pour l'exemple) , le script pourrait être du genre :
Pourrais tu me dire me le corriger avec la bonne forme ?
En fait, si tu préfères, je recherche à savoir la structure d'une string et les moyens de la manipuler.
Encore Merci
C'est parfait comme explication je ne pouvais espérer mieux.
Et en plus ça marche parfaitement.
Encore merci pour tes explications.
Peut être peux tu me renseigner aussi sur un autre point, peut on explorer une chaine de caractère de type String avec, si n est le numéro du caractère à sélectionner, une instruction du type str(n) ou str.n ou str[n] et comment on ferme une chaine.
Pour l'exemple, prenons une fonction qui voudrait supprimer les espaces d'une chaine (je sais que ça existe déjà, mais c'est pour l'exemple) , le script pourrait être du genre :
- Code: Tout sélectionner
Function suppresp(src As String) As String
resultat = ""
longueur = src.Count
j = 0
For i = 0 To longueur
If src[i] <> " " Then resultat[j++] = src[i] End If
Next i
resultat[j] = chr(00); pour fermer (si la string contient un caractère de fin
suppresp = resultat
End Function
Pourrais tu me dire me le corriger avec la bonne forme ?
En fait, si tu préfères, je recherche à savoir la structure d'une string et les moyens de la manipuler.
Encore Merci
- zakuli
- Utilisateur occasionnel
- Messages: 10
- Inscription: 20 Août 2009, 16:38
- Version Excel: 2003 FR
- Pour connaitre la longueur d'une chaine utilise Len(TaChaine)
- Pour parcourir les caractères d'une chaine, j'utilise la fonction Mid(TaChaine, Position de départ, Longueur) jumelé à une boucle FOR.
une fonction pour supprimer les espaces ( sans utiliser de TRIM ) pourrait ressembler à ceci:
- Pour parcourir les caractères d'une chaine, j'utilise la fonction Mid(TaChaine, Position de départ, Longueur) jumelé à une boucle FOR.
une fonction pour supprimer les espaces ( sans utiliser de TRIM ) pourrait ressembler à ceci:
- Code: Tout sélectionner
Public Function SupprEsp(src) As String
Dim resultat As String
For i = 1 To Len(src)
If Mid(src, i, 1) <> " " Then resultat = resultat & Mid(src, i, 1)
Next i
SupprEsp = resultat
End Function
-

Math - Membre dévoué
- Messages: 726
- Inscription: 05 Déc 2007, 18:57
- Localisation: Québec, Canada
- Version Excel: 2003 FR
Merci Math,
Donc on est loin d'une structure d'array comme dans C ou les autres langages ! Dommage, ça doit bien ralentir d'être obligé de passer par des fonctions !!!
Encore merci pour tes réponses
Cordialement
Donc on est loin d'une structure d'array comme dans C ou les autres langages ! Dommage, ça doit bien ralentir d'être obligé de passer par des fonctions !!!
Encore merci pour tes réponses
Cordialement
- zakuli
- Utilisateur occasionnel
- Messages: 10
- Inscription: 20 Août 2009, 16:38
- Version Excel: 2003 FR
Bonjour Zakuli,
c'est une façon de faire, il y en a surement d'autres. Quand au structure d'array, je ne sais pas si on peut coder quelque chose de similaire en VBA.
Content de t'avoir aider.
Bonne journée
c'est une façon de faire, il y en a surement d'autres. Quand au structure d'array, je ne sais pas si on peut coder quelque chose de similaire en VBA.
Content de t'avoir aider.
Bonne journée
-

Math - Membre dévoué
- Messages: 726
- Inscription: 05 Déc 2007, 18:57
- Localisation: Québec, Canada
- Version Excel: 2003 FR
6 messages
• Page 1 sur 1
-
- Sujets similaires
- Réponses
- Vus
- Dernier message
-
- Function dans Visual Basic Editor
par novicevba45 » 09 Juil 2009, 13:44 - 1 Réponses
- 275 Vus
- Dernier message par Raja

09 Juil 2009, 14:18
- Function dans Visual Basic Editor
-
- Besoin d'aide pour une macro (visual basic)
1, 2par francois87 » 20 Avr 2007, 06:59 - 12 Réponses
- 2843 Vus
- Dernier message par francois87

23 Avr 2007, 04:04
- Besoin d'aide pour une macro (visual basic)
-
- Code Visual Basic
par picsou59gg » 20 Mai 2007, 08:41 - 1 Réponses
- 698 Vus
- Dernier message par Excelnovice

20 Mai 2007, 09:54
- Code Visual Basic
-
- cours visual basic
par yachac » 02 Sep 2008, 14:45 - 3 Réponses
- 607 Vus
- Dernier message par Raja

03 Sep 2008, 14:47
- cours visual basic
-
- Erreur Visual Basic
par poular1 » 24 Nov 2010, 15:33
- 6 Réponses
- 101 Vus
- Dernier message par Banzai64

24 Nov 2010, 18:30
- Erreur Visual Basic
-
- Organisation de l'éditeur Visual Basic
par nico_33 » 29 Avr 2010, 14:16
- 2 Réponses
- 120 Vus
- Dernier message par nico_33

29 Avr 2010, 18:04
- Organisation de l'éditeur Visual Basic
Utilisateurs en ligne
Utilisateurs parcourant ce forum: Bing [Bot], Google Adsense [Bot], messondewez, rico95 et 28 invités