la saisie de données se fait le jour meme uniquement

hakimenne

XLDnaute Junior
Bonjour a tout le Monde

je solicite votre aide pour ameliorer mon classeur de gestion de stock
Afin d'eviter les erreurs de saisies ou leurs effacements

Je veux bien que les cellules de la feuille soient automatiquement insaisissable sauf celle du jour qu'on est

exemple : la saisie des entrées et des sorties du 01-01-2014 n' est faisable que le 01-01-2014 uniquement
si cette date étant dépassée on passe a la saisie de la date suivante (la date du jour)


MERCI
 

Pièces jointes

  • gestion stock.xlsx
    16.5 KB · Affichages: 50
  • gestion stock.xlsx
    16.5 KB · Affichages: 48
  • gestion stock.xlsx
    16.5 KB · Affichages: 48

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : la saisie de données se fait le jour meme uniquement

Bonsoir hakimenne,

Un essai dans le fichier joint. Dès qu'on sélectionne une zone qui empiète sur le tableau B11:S77, on se place sur le jour courant.
On peut toujours sélectionner une zone en dehors du tableau ou bien sélectionner une des deux cellules 'Entrée' ou 'Sortie' ou bien les deux. J'ai modifié les dates de décembre2014 pour les placer en 2013 (pour le test).

Le code est dans le module de code de la feuille "Feuil1":
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xrg As Range, yrg As Range
  Set xrg = Intersect(Target, Range("B9:S77"))
  If Not xrg Is Nothing Then
    Set yrg = Range("B9:S77").Find(CDate(Format(Date, "dd/mm/yyyy")), lookat:=xlWhole, LookIn:=xlValues)
    If Not yrg Is Nothing Then
      Set xrg = Intersect(yrg.Offset(, 1).Resize(, 2), xrg)
      If Not xrg Is Nothing Then xrg.Select Else yrg.Offset(, 1).Select
    End If
  End If
End Sub
 

Pièces jointes

  • gestion stock v1.xlsm
    24.9 KB · Affichages: 41

néné06

XLDnaute Accro
Re : la saisie de données se fait le jour meme uniquement

Bonsoir Hakimenne, Mapomme et le forum.

Une autre possibilité ou les valeurs entrées, où elles ne doivent pas, reprennent leur ancienne valeur.
J'ai aussi modifié les dates de décembre 2014 .

Code:
Public x As Double
Public y As Double
Public a As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If IsDate(Cells(x, y - 1)) = "true" Or IsDate(Cells(x, y - 2)) = "true" Then
        If Cells(x, y - 1) = Date Or Cells(x, y - 2) = Date Then Application.EnableEvents = True: Exit Sub
        Cells(x, y).Value = a
    End If
    Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    x = ActiveCell.Row
    y = ActiveCell.Column
    a = ActiveCell.Value
End Sub

A+

René
 

Pièces jointes

  • gestion stock (1).xlsm
    24.2 KB · Affichages: 38

Discussions similaires

Réponses
2
Affichages
995

Statistiques des forums

Discussions
312 348
Messages
2 087 510
Membres
103 570
dernier inscrit
patrickb83p