Macro

mickabak Messages postés 7 Statut Membre -  
mickabak Messages postés 7 Statut Membre -
Bonjour,

Je cherche à faire un tableau sur excel avec 2 colonnes :
--> 1ere colonne une série de chiffres saisi par un opérateur
--> 2eme colonne le jour dsaisi en automatique.
Il faut faire en sorte que la date de saisi ne change pas lorsque je vais ouvrir ce fichier le lendemain ou plus tard et si c'est possible que l'opérateur ne puisse pas resaisir sur une cellule qu'il a déjà saisi dans la 1ere colonne.

Merci pour votre aide
A voir également:

6 réponses

ccm81 Messages postés 11033 Statut Membre 2 433
 
Bonjour

un complément à la proposition de g (cordiales salutations)
pour date+heure de saisie et protection de la cellule se saisie
RQ. la protection ne sera effective que si la feuille est protégée

Private Sub Worksheet_Change(ByVal Target As Range)
i = Target.Row
If Target.Column = 1 Then 'Saisie en colonne 1
Cells(i, 2).Value = Now 'Date fixée en colonne 2
ActiveSheet.Unprotect ' de-proteger la feuille
Cells(i, 1).Locked = True ' proteger cellule saisie
ActiveSheet.Protect 'proteger la feuille
End If
End Sub

bonne suite
1
ccm81 Messages postés 11033 Statut Membre 2 433
 
est ce que ceci correspond?
https://www.cjoint.com/?3KCr0KKx62r

bonne suite
1
mickabak Messages postés 7 Statut Membre
 
Il me reste un petit soucis,

ça ne fonctionne plus une fois que je dépasse les cellules en jaune dans le fichier joint.

Que faire ?

Merci d'avance
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
normal, je n'ai déverrouillé que cette plage
donc
1. déprotéger la feuille
2. déverrouiller la suite de la plage
2. re-protéger la feuille

bonne suite
0
mickabak Messages postés 7 Statut Membre
 
Désolé mais je n'y arrive pas.
De plus quand j'enlève la protection de la feuille pour supprimer ce qui est saisi dans la colonne A, les cellules 7/8/9/10 ne fonctionne plus. ça me met erreur 1004.
Le fait que je sois en ECEL 2010 pose peut être problème ???
Merci
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
normal,
ajoutes cette ligne au code (qui te permet de ne pas déclencher la procedure si plus d'une cellule est sélectionnée)

Dim i As Long 
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("$A:$A")) Is Nothing Then

bonne suite
0
mickabak Messages postés 7 Statut Membre
 
bonjour,

voici le code que j'ai sur ma feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("$A:$A")) Is Nothing Then
If Target = "" Then Exit Sub
i = Target.Row
Cells(i, 2).Value = Now 'Date fixée en colonne 2
ActiveSheet.Unprotect 'déproteger la feuille
Cells(i, 1).Locked = True 'verrouiller cellule saisie
Cells(i, 2).Locked = True 'verrouiller cellule date
ActiveSheet.Protect 'protéger la feuille
End If
End Sub

Que faut il que je rajoute pour que je puisse saisir en colonne 1 et 2 et que la date se mette en colonne 3 ?

Merci de votre aide.
0
g Messages postés 1285 Statut Membre 577
 
Bonjour,

Code à copier dans le module de la feuille concernée (Alt+F11:

Private Sub Worksheet_Change(ByVal Target As Range)
i = Target.Row
If Target.Column = 1 Then 'Saisie en colonne 1
Cells(i, 2).Value = Date 'Date fixée en colonne 2
End If
End Sub

Cordialement.
0
mickabak Messages postés 7 Statut Membre
 
Merci mais ça ne fonctionne pas.

Je n'ai peut etre pas été clair.
1) Je veux saisir une valeur en colonne (251647)
2) Je veux que la date et l'heure de saisie s'affiche en colonne 2 en automatique
3) Il faut que la date soit figée de tel sorte que lorsque j'ouvre le fichier le lendemain les dates ne changent pas pour les cellules déjà saisie
4) Il faut que je ne puisse pas modifier les saisis que j'ai déjà fait en colonne 1.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mickabak Messages postés 7 Statut Membre
 
Merci beaucoup a tous.

ccm81 ça fontionne avec le fichier joint.

Impec !!!!

Encore Merci
0
mickabak Messages postés 7 Statut Membre
 
Bonsoir,

Ca ne fonctionne toujours pas, du moin ça fait pas ce que je veux.
Il faut que le date s'inscrive quand je saisi dans la 1ere colonne et non pas quand je vais dessus.

De plus pour le bloquage des cellules en colonne 1 une fois la saisie faite ça ne fonctionne pas.

Merci d'avance pour votre aide.
-1