Fonction execl
dannnB
Messages postés
4
Statut
Membre
-
dannnB Messages postés 4 Statut Membre -
dannnB Messages postés 4 Statut Membre -
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
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
2 réponses
-
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-
-
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
-
-
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