Fonction personnalisée
Résolu/Fermé
Hamou220
Messages postés
3
Date d'inscription
mercredi 10 février 2021
Statut
Membre
Dernière intervention
14 février 2021
-
10 févr. 2021 à 11:39
Hamou220 Messages postés 3 Date d'inscription mercredi 10 février 2021 Statut Membre Dernière intervention 14 février 2021 - 14 févr. 2021 à 11:27
Hamou220 Messages postés 3 Date d'inscription mercredi 10 février 2021 Statut Membre Dernière intervention 14 février 2021 - 14 févr. 2021 à 11:27
A voir également:
- Fonction personnalisée
- Sonnerie personnalisée android - Guide
- Fonction si et - Guide
- Carte personnalisée google maps - Guide
- Comment mettre une alarme personnalisée sur iphone - Guide
- Fonction somme excel - Guide
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 771
Modifié le 10 févr. 2021 à 13:26
Modifié le 10 févr. 2021 à 13:26
Bonjour,
C'est pas clair ....
Une fonction personnalisée ne demande rien, on lui transmet les informations nécessaires en argument .
Si il faut faire une demande, il faut créer une procédure (Sub).
Un tuto sur les tableaux VBA : https://silkyroad.developpez.com/vba/tableaux/
Un excellent cours VBA pour débutant : Cours VBA Gratuit
Cordialement
Patrice
Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
C'est pas clair ....
Une fonction personnalisée ne demande rien, on lui transmet les informations nécessaires en argument .
Si il faut faire une demande, il faut créer une procédure (Sub).
Un tuto sur les tableaux VBA : https://silkyroad.developpez.com/vba/tableaux/
Un excellent cours VBA pour débutant : Cours VBA Gratuit
Cordialement
Patrice
Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
Hamou220
Messages postés
3
Date d'inscription
mercredi 10 février 2021
Statut
Membre
Dernière intervention
14 février 2021
Modifié le 14 févr. 2021 à 09:32
Modifié le 14 févr. 2021 à 09:32
je veux une fonction qui calcule si il ya 3 absences dans une semain
voila mon code
Function TroiAbs(t As Range) As Integer
Dim s, a, b As Integer
Dim i As Range
s = 1
a = 0
b = 0
For Each i In t
If s <= 7 Then
'Test d'absence AI
If i.Value = "AI" Then
a = a + 1
'3 Absences par Semaine
If a >= 3 Then
TroiAbs = b + 1
a = 0
End If
End If
Else
s = 0
End If
s = s + 1
Next
End Function
mais ce code ça marche pas je sais pas ou est l'erreur
le resultat : le type de donnees dune valeur utilise dans la formule est incorrect

voila mon code
Function TroiAbs(t As Range) As Integer
Dim s, a, b As Integer
Dim i As Range
s = 1
a = 0
b = 0
For Each i In t
If s <= 7 Then
'Test d'absence AI
If i.Value = "AI" Then
a = a + 1
'3 Absences par Semaine
If a >= 3 Then
TroiAbs = b + 1
a = 0
End If
End If
Else
s = 0
End If
s = s + 1
Next
End Function
mais ce code ça marche pas je sais pas ou est l'erreur
le resultat : le type de donnees dune valeur utilise dans la formule est incorrect
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 771
14 févr. 2021 à 10:37
14 févr. 2021 à 10:37
Bonjour,
Essaies comme ça :
Essaies comme ça :
Option Explicit Function TroiAbs(rng As Range) As Variant ' Retourne le nombre de fois qu'il y a 3 absences ("AI") sur une période de 7 jours Dim cel As Range, j As Long, a As Long, s As Integer If rng.Rows.Count > 1 Then ' Retourner l'erreur #NOMBRE! TroiAbs = CVErr(XlCVError.xlErrNum) Else ' Compter les absences For Each cel In rng.Cells j = j + 1 If cel.Value = "AI" Then ' ajouter une absence dans la semaine a = a + 1 End If If j Mod 7 = 0 Then ' semaine terminée If a >= 3 Then s = s + 1 a = 0: j = 0 End If Next cel If s > 0 Then TroiAbs = s Else TroiAbs = "" End If End Function
Hamou220
Messages postés
3
Date d'inscription
mercredi 10 février 2021
Statut
Membre
Dernière intervention
14 février 2021
14 févr. 2021 à 11:27
14 févr. 2021 à 11:27
oui ça marche très bien bravo merci patrice