Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SOS je rame

3 réponses
Avatar
valenza
Bonjour =E0 tous

suite =E0 'aide pr=E9cieuse de Poulpor j'ai r=E9ussi ma formule
qui me permet de g=E9rer mes pr=E9sences selon l'=E9cart entre les dates.


Lignes.Value =3D (Year(CDate(Fin.Value)) * 12) + Month(CDate(Fin.Value))
- (Year(CDate(Debut.Value)) * 12) - Month(CDate(Debut.Value)) + 1


sachant que tout mois commenc=E9 est comptabilis=E9
le but ensuite c'est qu'apr=E8s validation du formulaire, il me copie
sur une feuille autant de lignes qu'il y a de mois trouv=E9. Exemple :
=E9cart en mois 3 =3D 3 lignes recopi=E9es (champs du form vers feuille)
ci-joint le code


Private Sub Valide_Click()


Dim li, i
li =3D Me.Lignes


For i =3D 1 To li
num2 =3D Sheets("PRESENCES").Range("A65536").End(xlUp).Row + 1


Sheets("PRESENCES").Activate
Range("A" & num2).Value =3D Me.Nom
Range("B" & num2).Value =3D Me.Prenom
Range("C" & num2).Value =3D Me.Lst1
Range("D" & num2).Value =3D Me.Formation
Range("E" & num2).Value =3D Me.Lst2
Range("F" & num2).Value =3D Me.Debut
Range("G" & num2).Value =3D Me.Fin
Range("H" & num2).Value =3D Me.Heures

Next i

End Sub


ce que j'aimerais c'est pousser un peu plus loin et qu'il me recopie
les mois entre les dates en me les incr=E9mentant.


exemple :
d=E9but le 15/01/05 fin le 24/05/05
nombre de mois : 5
nombre de lignes =E0 recopier : 5
mois =E0 recopier : janvier - fevrier - mars - avril - mai toujours dans

la m=EAme colonne J de ma feuille PRESENCES


en gros j'aurais :
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - JANVIER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - FEVRIER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MARS
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - AVRIL
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MAI


merci de votre aide=20
BV

3 réponses

Avatar
Poulpor
Bonjour Valenza,

Je te popose ce code :


En dessus de ton module :

Public My_Month (1 to 12) as string

Au début de ton sub, tu charges les mois en mémoire :

My_Month(1)="Janvier"
...
My_Month(12)="Décembre"


Et donc, il te suffit, quand tu obtiens les numéros de mois, de retourner le
nom du mois en Français par :

i=1
Range("A1").value=My_Month(i)

ceci marquera Janvier en A1

Bon courage pour obtenir tes indices, mais ca ne devrait pas etre difficile

Poulpor






Bonjour à tous

suite à 'aide précieuse de Poulpor j'ai réussi ma formule
qui me permet de gérer mes présences selon l'écart entre les dates.


Lignes.Value = (Year(CDate(Fin.Value)) * 12) + Month(CDate(Fin.Value))
- (Year(CDate(Debut.Value)) * 12) - Month(CDate(Debut.Value)) + 1


sachant que tout mois commencé est comptabilisé
le but ensuite c'est qu'après validation du formulaire, il me copie
sur une feuille autant de lignes qu'il y a de mois trouvé. Exemple :
écart en mois 3 = 3 lignes recopiées (champs du form vers feuille)
ci-joint le code


Private Sub Valide_Click()


Dim li, i
li = Me.Lignes


For i = 1 To li
num2 = Sheets("PRESENCES").Range("A65536").End(xlUp).Row + 1


Sheets("PRESENCES").Activate
Range("A" & num2).Value = Me.Nom
Range("B" & num2).Value = Me.Prenom
Range("C" & num2).Value = Me.Lst1
Range("D" & num2).Value = Me.Formation
Range("E" & num2).Value = Me.Lst2
Range("F" & num2).Value = Me.Debut
Range("G" & num2).Value = Me.Fin
Range("H" & num2).Value = Me.Heures

Next i

End Sub


ce que j'aimerais c'est pousser un peu plus loin et qu'il me recopie
les mois entre les dates en me les incrémentant.


exemple :
début le 15/01/05 fin le 24/05/05
nombre de mois : 5
nombre de lignes à recopier : 5
mois à recopier : janvier - fevrier - mars - avril - mai toujours dans

la même colonne J de ma feuille PRESENCES


en gros j'aurais :
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - JANVIER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - FEVRIER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MARS
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - AVRIL
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MAI


merci de votre aide
BV




Avatar
valenza
Bonjour et merci de ta réponse

J'ai fait comme tu as dit
"il me dit instruction incorrecte à l'extérieur d'une procédure"
et se positionne sur "janvier"

je me pose une question
comment peut-il savoir quel mois mettre et surtout jusqu'où s'arréter
si j'ai mes deux mois entre le 15/08/06 et le 25/09/06
va t-il réussir à m'écrire aout et septembre avec le seul chiffre 2
?
je vois plutot février écrit plusisuers fois


quand penses tu ?



Bonjour Valenza,

Je te popose ce code :


En dessus de ton module :

Public My_Month (1 to 12) as string

Au début de ton sub, tu charges les mois en mémoire :

My_Month(1)="Janvier"
...
My_Month(12)="Décembre"


Et donc, il te suffit, quand tu obtiens les numéros de mois, de retourn er le
nom du mois en Français par :

i=1
Range("A1").value=My_Month(i)

ceci marquera Janvier en A1

Bon courage pour obtenir tes indices, mais ca ne devrait pas etre diffici le

Poulpor






Bonjour à tous

suite à 'aide précieuse de Poulpor j'ai réussi ma formule
qui me permet de gérer mes présences selon l'écart entre les date s.


Lignes.Value = (Year(CDate(Fin.Value)) * 12) + Month(CDate(Fin.Value))
- (Year(CDate(Debut.Value)) * 12) - Month(CDate(Debut.Value)) + 1


sachant que tout mois commencé est comptabilisé
le but ensuite c'est qu'après validation du formulaire, il me copie
sur une feuille autant de lignes qu'il y a de mois trouvé. Exemple :
écart en mois 3 = 3 lignes recopiées (champs du form vers feuille)
ci-joint le code


Private Sub Valide_Click()


Dim li, i
li = Me.Lignes


For i = 1 To li
num2 = Sheets("PRESENCES").Range("A65536").End(xlUp).Row + 1


Sheets("PRESENCES").Activate
Range("A" & num2).Value = Me.Nom
Range("B" & num2).Value = Me.Prenom
Range("C" & num2).Value = Me.Lst1
Range("D" & num2).Value = Me.Formation
Range("E" & num2).Value = Me.Lst2
Range("F" & num2).Value = Me.Debut
Range("G" & num2).Value = Me.Fin
Range("H" & num2).Value = Me.Heures

Next i

End Sub


ce que j'aimerais c'est pousser un peu plus loin et qu'il me recopie
les mois entre les dates en me les incrémentant.


exemple :
début le 15/01/05 fin le 24/05/05
nombre de mois : 5
nombre de lignes à recopier : 5
mois à recopier : janvier - fevrier - mars - avril - mai toujours dans

la même colonne J de ma feuille PRESENCES


en gros j'aurais :
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - JANVIER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - FEVRIER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MARS
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - AVRIL
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MAI


merci de votre aide
BV






Avatar
valenza
je suis désolé mais je n'y arrive pas
pouvez-vous m'aider merci




Bonjour et merci de ta réponse

J'ai fait comme tu as dit
"il me dit instruction incorrecte à l'extérieur d'une procédure"
et se positionne sur "janvier"

je me pose une question
comment peut-il savoir quel mois mettre et surtout jusqu'où s'arréter
si j'ai mes deux mois entre le 15/08/06 et le 25/09/06
va t-il réussir à m'écrire aout et septembre avec le seul chiffre 2
?
je vois plutot février écrit plusisuers fois


quand penses tu ?



Bonjour Valenza,

Je te popose ce code :


En dessus de ton module :

Public My_Month (1 to 12) as string

Au début de ton sub, tu charges les mois en mémoire :

My_Month(1)="Janvier"
...
My_Month(12)="Décembre"


Et donc, il te suffit, quand tu obtiens les numéros de mois, de retou rner le
nom du mois en Français par :

i=1
Range("A1").value=My_Month(i)

ceci marquera Janvier en A1

Bon courage pour obtenir tes indices, mais ca ne devrait pas etre diffi cile

Poulpor






Bonjour à tous

suite à 'aide précieuse de Poulpor j'ai réussi ma formule
qui me permet de gérer mes présences selon l'écart entre les da tes.


Lignes.Value = (Year(CDate(Fin.Value)) * 12) + Month(CDate(Fin.Valu e))
- (Year(CDate(Debut.Value)) * 12) - Month(CDate(Debut.Value)) + 1


sachant que tout mois commencé est comptabilisé
le but ensuite c'est qu'après validation du formulaire, il me copie
sur une feuille autant de lignes qu'il y a de mois trouvé. Exemple :
écart en mois 3 = 3 lignes recopiées (champs du form vers feuil le)
ci-joint le code


Private Sub Valide_Click()


Dim li, i
li = Me.Lignes


For i = 1 To li
num2 = Sheets("PRESENCES").Range("A65536").End(xlUp).Row + 1


Sheets("PRESENCES").Activate
Range("A" & num2).Value = Me.Nom
Range("B" & num2).Value = Me.Prenom
Range("C" & num2).Value = Me.Lst1
Range("D" & num2).Value = Me.Formation
Range("E" & num2).Value = Me.Lst2
Range("F" & num2).Value = Me.Debut
Range("G" & num2).Value = Me.Fin
Range("H" & num2).Value = Me.Heures

Next i

End Sub


ce que j'aimerais c'est pousser un peu plus loin et qu'il me recopie
les mois entre les dates en me les incrémentant.


exemple :
début le 15/01/05 fin le 24/05/05
nombre de mois : 5
nombre de lignes à recopier : 5
mois à recopier : janvier - fevrier - mars - avril - mai toujours d ans

la même colonne J de ma feuille PRESENCES


en gros j'aurais :
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - JANVI ER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - FEVRI ER

NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MARS
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - AVRIL
NOM - PRENOM - LST1 - FORMATION - LST2 - DEBUT - FIN - HEURES - MAI


merci de votre aide
BV