Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

date de fin

seb83100

XLDnaute Nouveau
bonjour à tous,


Je viens de créer un petit userform qui se remplit automatiquement lorsque je sélectionne dans le combobox "NUMERO" le numéro ensuite je sélectionne toujours dans un combobox "MOIS" un mois.

Les données s'enregistrent ensuite sur la feuille 1 pour le numéro, le nom et le prénom.
Dans la feuille 3 s'enregistre le numéro, le code postal, la ville, date de début de mois (sélectionné dans le combobox "MOIS") et la date de fin de mois.

je rencontre 2 problèmes liés au calcul de la date de fin.
Le 1 er problème est que la date de fin de mois ne se calcule pas lorsqu'il s'agit du 1 er enregistrement.
le 2 ème problème est que la date de fin de mois est décalé d'une ligne lors du 2 ème enregistrement.

par avance merci de l'aide que vous allez m'apporter.
 

Pièces jointes

  • essai.zip
    117.6 KB · Affichages: 23
  • essai.zip
    117.6 KB · Affichages: 28
  • essai.zip
    117.6 KB · Affichages: 28

Dranreb

XLDnaute Barbatruc
Re : date de fin

Bonsoir.

Préférez :
VB:
  Sheets("Feuil3").Range("D" & DerLig).Offset(1, 0) = DateSerial(Year(Date), MOIS.ListIndex + 1, 1)
  Sheets("Feuil3").Range("E" & DerLig).Offset(1, 0) = DateSerial(Year(Date), MOIS.ListIndex + 2, 0)
 

JBARBE

XLDnaute Barbatruc
Re : date de fin

Bonjour à tous,

Pour les listes déroulantes NUMERO - REFERENCE - MATRICULE, il vaut mieux modifier la macro ainsi :

Code:
Private Sub CommandButton1_Click()
Dim vCellule As Object
Load UserForm1
For Each vCellule In Sheets("Feuil2").Range("A2:A65536")
 If vCellule.Value = "" Then Exit For
  UserForm1.NUMERO.AddItem vCellule.Value
Next

For Each vCellule In Sheets("Feuil2").Range("B2:B65536")
 If vCellule.Value = "" Then Exit For
  UserForm1.REFERENCE.AddItem vCellule.Value
Next

For Each vCellule In Sheets("Feuil2").Range("C2:C65536")
 If vCellule.Value = "" Then Exit For
  UserForm1.MATRICULE.AddItem vCellule.Value
Next

UserForm1.NUMERO.ListIndex = 0
UserForm1.REFERENCE.ListIndex = 0
UserForm1.MATRICULE.ListIndex = 0
UserForm1.Show
End Sub

bonne journée
 

Discussions similaires

Réponses
8
Affichages
216
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…