Protection de feuille et exécution de VBA

mykeul 77

XLDnaute Nouveau
Bonjour à tous,
Cela fait déja 1 an que j'ai crée un tableau d'appel pour une association sportive avec l'aide de quelques un d'entre vous et je vous en remercie.
Toutefois avec l'utilisation je voudrais optimiser les fonctionnabilité de mon tableau, mais j'aurai besoin d'aide.
je vous joints un exemple afin d'illustrer mes souhaits.
En fait, Je voudrais pouvoir saisir librement dans les cellules vides B,C,D,E puis les protéger dès quelles sont remplies. Je voudrais protéger toutes les autres cellules mais que toutes les formules VBA s'exécute sans erreurs :
Double click pour horaires en zones bleues.
Classement automatique par ordre alphabétique des lignes en fonction des noms.
Espérant que l'un d'entre vous pourra m'aider.
Par avance merci!
 

Pièces jointes

  • APPS 01PAT - Copie.xlsm
    23.5 KB · Affichages: 52
  • APPS 01PAT - Copie.xlsm
    23.5 KB · Affichages: 51
  • APPS 01PAT - Copie.xlsm
    23.5 KB · Affichages: 53

mykeul 77

XLDnaute Nouveau
Re : Protection de feuille et exécution de VBA

Re Bonsoir,
j'ai été sur les différent sujet similaire, mais étant très peu compétent je ne comprends pas comment utiliser les solutions sur mon probleme.
J'ai essayé avec :
ActiveSheet
.Unprotect
patati patata
ActiveSheet
.Protect
End Sub
mais je dois mal les placés ou ce n'est pas ça qu'il faut.
Merci par avance.
 

mykeul 77

XLDnaute Nouveau
Re : Protection de feuille et exécution de VBA

Bonjour,
Tout d'abord merci, pour votre réponse.
Par contre je n'est que très peu (voir nul) de connaissance excel, en effet je ne sais pas à quoi sert un useform ni les différences entre les entrée de VBA, et lorsque j'ai été voir, cela voudrait dire qu'il faudrait que je refasse tout mon document.
C'est un peu la galère.
Je m'imaginai juste modifier les formules, ou entrer un commande VBA supplémentaire.
Comme une intégration :
ActiveSheet.unprotect " "
ActiveSheet.Protect ""

Dans mes deux formules Private Sub WorkSheet:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Interior.ColorIndex = 34 Then
Cancel = True
If Target.Column Mod 6 = 0 Then
Target = Int(Time * 48) / 48
Else
Target = (Int(Time * 48) + 1) / 48
End If
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B6:V10")) Is Nothing Then
Range("B6:V10").Sort Key1:=Range("B6"), Order1:=xlAscending
End If
End Sub

J'ai essayé mais je n'y arrive pas. je ne sais pas ou placer les lignes de programme. Est ce que c'est possible au moins?
Merci pour votre réponse, cordialement,
MYKEUL 77
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 259
Membres
103 498
dernier inscrit
FAHDE