• Initiateur de la discussion Initiateur de la discussion seb83100
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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)
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
186
Réponses
10
Affichages
258
Réponses
5
Affichages
256
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
163
Réponses
4
Affichages
126
Réponses
6
Affichages
303
Retour