Alimenter une table en fonction du mois selectionné.

barbin

XLDnaute Junior
Bonsoir à tout le forum.
Je recherche un code qui me permettrai d'alimenter une base de donnée en fonction d'une période choisie.
En effet, en choisissant le mois dans une liste puis en cliquant sur le bouton "Ajouter", les données seront ajouter dans la base de données sur la ligne du mois choisie.
Je vous laisse un fichier joint, qui sera je pense plus facile à comprendre.

Merci d'avance.
Cordialement.
 

Pièces jointes

  • donnees-periode.xlsx
    14.8 KB · Affichages: 13

barbin

XLDnaute Junior
Bonjour, maintenant, je souhaiterai faire l'inverse, c'est à dire, effacer les données à l'aide d'un bouton effacer. J'ai écris un code mais cela ne fonctionne pas.

Private Sub CommandButton2_Click()
Dim i As Long
If ComboBox1.Text = "" Then MsgBox "Aucune période sélectionnée.": Exit Sub
Application.ScreenUpdating = False
For i = 2 To 13
If Cells(i, 3) = ComboBox1.Value Then
Cells(i, 4) = ""
Cells(i, 5) = ""
Cells(i, 6) = ""
Cells(i, 7) = ""
Exit Sub
End If
Next i
Application.ScreenUpdating = True
End Sub

Si quelqu'un pourrait m'aider se serait sympa.
Merci.
cordialement
 

Pièces jointes

  • donnees-periode.xlsm
    30.6 KB · Affichages: 17

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
Pour supprimer il a été nécessaire de mettre la donnée ComboBox1 dans une cellule !
De plus la boite de dialogue doit disparaitre Unload Me!
Code:
Private Sub CommandButton2_Click()
Dim i As Long
Application.ScreenUpdating = False
If ComboBox1.Text = "" Then MsgBox "Aucune période sélectionnée.": Exit Sub
With Sheets("Feuil2")
.Range("E20") = ComboBox1.Value
  For i = 2 To 13
  If .Cells(i, 3) = .Range("E20").Value Then
  .Cells(i, 4) = ""
  .Cells(i, 5) = ""
  .Cells(i, 6) = ""
  .Cells(i, 7) = ""
  .Range("E20") = ""
  Unload Me
  Exit Sub
  End If
  Next i
End With
  Application.ScreenUpdating = True
End Sub

Bonne soirée !
 

barbin

XLDnaute Junior
Merci, grâce à toi, j'y suis arrivé. J'ai modifié un peu le code pour utiliser les données directement de la combobox1.

Private Sub CommandButton2_Click()
Dim i As Long
If ComboBox1.Text = "" Then MsgBox "Aucune période sélectionnée.": Exit Sub
For i = 2 To 13
If Cells(i, 3) = CDate(ComboBox1) Then
Cells(i, 4) = ""
Cells(i, 5) = ""
Cells(i, 6) = ""
Cells(i, 7) = ""
Unload Me
Exit Sub
End If
Next i
End Sub

Encore merci.
 

Discussions similaires

Réponses
27
Affichages
870

Statistiques des forums

Discussions
314 121
Messages
2 106 128
Membres
109 495
dernier inscrit
jerome bonneau