Fonction execl

dannnB Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
dannnB Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention  
 
je vais voire comment on fai sa merci de votre aide
0
dannnB Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   59
 
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   Statut Membre Dernière intervention  
 
mercii bcp je vai corriger
0