Fonction execl

Fermé
dannnB Messages postés 4 Date d'inscription vendredi 14 juin 2019 Statut Membre Dernière intervention 16 juin 2019 - 14 juin 2019 à 10:23
dannnB Messages postés 4 Date d'inscription vendredi 14 juin 2019 Statut Membre Dernière intervention 16 juin 2019 - 16 juin 2019 à 10:30
Bonjour,
jai 2 feuille excel la feuille BA et la feuille 2018-2019
-dans BA j'ai la colone D qui correspont a la date du debut du contrat
-dans BA j'ai la colone E qui correspont a la date du fin du contrat
-dans 2018-2019 j'ai la colone A qui correspont au mois (jan , fev,.. sous forme 01/01/2018 , 01/02/2018 ....)
jaimerais mettre dans la colone B de la feuille 2018-2019 le nombre de contrat actif (compris entre la date de la colpnne D et E de la feuille BA)
je nai pas reussis a le faire avec une formul alors jai essaye de le faire avec une formule que jai cree en vba mais sa me met une erreure de valeur (#valeur!)
si vous avez uen solution pour une formul existante ou pour arranger mon code je serais ravis sa fais 3 jours je suis dessus
merci bcp



Public Function numberofc(m As Integer) As Integer



Dim x As Integer
Dim z As Integer
dim i As Integer


z = 0

x = Sheets("BA").ListObjects(1).Rows.Count


For i = 2 To x

If Sheets("BA").Cells(D, i) < Sheets("2018-2019").Range(a, m) & Sheets("BA").Range(e, i) >= Sheets("2018-2019").Cells(a, m + 1) Then

z = z + 1

End If

i = i + 1

Next

Sheets("2018-2019").Cells(b, m).Value = z



Debug.Print Var



End Function
A voir également:

2 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
14 juin 2019 à 10:31
Bonjour

Peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

Cdlmnt
1
dannnB Messages postés 4 Date d'inscription vendredi 14 juin 2019 Statut Membre Dernière intervention 16 juin 2019
15 juin 2019 à 21:01
je vais voire comment on fai sa merci de votre aide
0
dannnB Messages postés 4 Date d'inscription vendredi 14 juin 2019 Statut Membre Dernière intervention 16 juin 2019
16 juin 2019 à 10:30
https://www.cjoint.com/c/IFqiBhebV3m
voila mon lien merci pour votre aide je ny arrive toujours pas
mon code de la fonction se trouve dans le module 2
mercii
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 14 juin 2019 à 10:45
bonjour,

quelques erreurs de syntaxes :
For i = 2 To x

If Sheets("BA").Cells(i, 4) < Sheets("2018-2019").Range("A"&m) & Sheets("BA").Range("E"& i) >= Sheets("2018-2019").Cells(m+1,  1) Then
'cells indique une cellule ligne, colonne "en nombre" (A2 = Cells(2,1)) alors que range s'indique avec colonne, ligne (A2 = Range("A2"))
z = z + 1

End If

'pas besoin d'incrémenter le compteur (i en l'occurence) dans un For

Next i 'c'est pas mal de dire de quel next tu parles : c'est plus lisible quand tu imbrique plusieurs boucles

à corriger sur l'ensemble de ton code

1
dannnB Messages postés 4 Date d'inscription vendredi 14 juin 2019 Statut Membre Dernière intervention 16 juin 2019
15 juin 2019 à 21:01
mercii bcp je vai corriger
0