Fonction personnalisée
Résolu
Hamou220
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Hamou220 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Hamou220 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis debutant en vba je veut qlq aides svp
je veut cree une fonction persionalisee qui demande nous a selectionner un plage des celulles puis calculer le nobres de jourspayes par mois
je sais pas comment fair pour selectionner plusier celulles et copier dans un tableau, (tableau d'une seul ligne et 30 colonns)
je suis debutant en vba je veut qlq aides svp
je veut cree une fonction persionalisee qui demande nous a selectionner un plage des celulles puis calculer le nobres de jourspayes par mois
je sais pas comment fair pour selectionner plusier celulles et copier dans un tableau, (tableau d'une seul ligne et 30 colonns)
Configuration: Windows / Chrome 88.0.4324.152
A voir également:
- Fonction personnalisée
- Fonction si et - Guide
- Sonnerie personnalisée android - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Comment faire une bordure de page personnalisée sur word - Guide
4 réponses
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
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
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
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