OVH Cloud OVH Cloud

Pour Michel Holderit

3 réponses
Avatar
JS
Resalut,
C'est clair que nous avons un probl=E8me assez diff=E9rent.
Dans mon classeur l'utilisateur est guid=E9 et ne peut=20
monifier uniquement certeines cellules, l'utilisateur peut
et suivant doit modifier des informations.
Si j'ai bien compris, dans ton cas l'utiliateur ne doit en=20
aucun cas modifier le classeur, j^'ai vu juste ?
Je trouve ton approche int=E9ressante, je vais en resortir=20
des id=E9es.
Pour mois le but untime c'est que l'utilisateur ne puisse
pas copier certeines plages de cellules, qui sont soit
masqu=E9es soit prot=E9g=E9es, dans un autre classeur.
Pour le moment je crois avoir trouv=E9 une solution=20
relativement simple, si l'utilisateur s=E9lectionne plus=20
d'une cellule =E0 la fois, sa s=E9lection revien =E0 la premiere=20
cellule s=E9lectionn=E9e, qui est forcement une cellule nom=20
prot=E9g=E9e.
A l'avenir je vais essayer de cr=E9er un environnement de
travail dans lequel toute op=E9ration de copie est=20
desactiv=E9e, j'ai d=E9j=E0 un projet en cours dans ce sense.
Donc voici mon code ultime, simple et je cois efficace,
toujours en partant de l'id=E9e que le tout est prot=E9g=E9 :


Private Sub Worksheet_SelectionChange(ByVal Plage As Range)
Set Plage =3D Selection
LangueEnCours =3D Workbooks(ActiveWorkbook.Name).Sheets
("LEsDates").Range("LangueRegion").Value
Select Case LangueEnCours
Case Is =3D 1
FeuilleEnCours =3D ActiveSheet.Name
Case Is =3D 2
FeuilleEnCours =3D ActiveSheet.Name
End Select
If ActiveSheet.Name =3D FeuilleEnCours Then
Worksheets(FeuilleEnCours).EnableSelection =3D=20
xlUnlockedCells
If Plage.Rows.Count > 1 _
Or Plage.Columns.Count > 1 Then
Range(Cells(Plage.Row, Plage.Column), Cells
(Plage.Row, Plage.Column)).Select
End If
End If
End Sub


Ciao

3 réponses

Avatar
Michel HOLDERITH
Salut,
ton code :
If Plage.Rows.Count > 1 _
Or Plage.Columns.Count > 1 Then
Range(Cells(Plage.Row, Plage.Column), Cells
(Plage.Row, Plage.Column)).Select
End If
est bien pense....
Je vais egalement l'utiliser... car j'ai 2 cellules ou l'utilisateur doit
modifier et creer une liste de noms d'eleves......
Veux-tu un exemple de fichier que j'ai d'ailleur envoye a misange ?
(t'inquietes il est vide...)
Pour savoir t'es d'ou ?
@+
Michel.



"JS" wrote in message
news:06f801c3a2ec$f5586b60$
Resalut,
C'est clair que nous avons un problème assez différent.
Dans mon classeur l'utilisateur est guidé et ne peut
monifier uniquement certeines cellules, l'utilisateur peut
et suivant doit modifier des informations.
Si j'ai bien compris, dans ton cas l'utiliateur ne doit en
aucun cas modifier le classeur, j^'ai vu juste ?
Je trouve ton approche intéressante, je vais en resortir
des idées.
Pour mois le but untime c'est que l'utilisateur ne puisse
pas copier certeines plages de cellules, qui sont soit
masquées soit protégées, dans un autre classeur.
Pour le moment je crois avoir trouvé une solution
relativement simple, si l'utilisateur sélectionne plus
d'une cellule à la fois, sa sélection revien à la premiere
cellule sélectionnée, qui est forcement une cellule nom
protégée.
A l'avenir je vais essayer de créer un environnement de
travail dans lequel toute opération de copie est
desactivée, j'ai déjà un projet en cours dans ce sense.
Donc voici mon code ultime, simple et je cois efficace,
toujours en partant de l'idée que le tout est protégé :


Private Sub Worksheet_SelectionChange(ByVal Plage As Range)
Set Plage = Selection
LangueEnCours = Workbooks(ActiveWorkbook.Name).Sheets
("LEsDates").Range("LangueRegion").Value
Select Case LangueEnCours
Case Is = 1
FeuilleEnCours = ActiveSheet.Name
Case Is = 2
FeuilleEnCours = ActiveSheet.Name
End Select
If ActiveSheet.Name = FeuilleEnCours Then
Worksheets(FeuilleEnCours).EnableSelection xlUnlockedCells
If Plage.Rows.Count > 1 _
Or Plage.Columns.Count > 1 Then
Range(Cells(Plage.Row, Plage.Column), Cells
(Plage.Row, Plage.Column)).Select
End If
End If
End Sub


Ciao
Avatar
Salut je suis de Genève,

tu peux m'envoyer ton fichier à
l'adresse suivante :



Ciao et A+

-----Message d'origine-----
Salut,
ton code :
If Plage.Rows.Count > 1 _
Or Plage.Columns.Count > 1 Then
Range(Cells(Plage.Row, Plage.Column), Cells
(Plage.Row, Plage.Column)).Select
End If
est bien pense....
Je vais egalement l'utiliser... car j'ai 2 cellules ou
l'utilisateur doit

modifier et creer une liste de noms d'eleves......
Veux-tu un exemple de fichier que j'ai d'ailleur envoye a
misange ?

(t'inquietes il est vide...)
Pour savoir t'es d'ou ?
@+
Michel.



"JS" wrote in
message

news:06f801c3a2ec$f5586b60$
Resalut,
C'est clair que nous avons un problème assez différent.
Dans mon classeur l'utilisateur est guidé et ne peut
monifier uniquement certeines cellules, l'utilisateur peut
et suivant doit modifier des informations.
Si j'ai bien compris, dans ton cas l'utiliateur ne doit en
aucun cas modifier le classeur, j^'ai vu juste ?
Je trouve ton approche intéressante, je vais en resortir
des idées.
Pour mois le but untime c'est que l'utilisateur ne puisse
pas copier certeines plages de cellules, qui sont soit
masquées soit protégées, dans un autre classeur.
Pour le moment je crois avoir trouvé une solution
relativement simple, si l'utilisateur sélectionne plus
d'une cellule à la fois, sa sélection revien à la premiere
cellule sélectionnée, qui est forcement une cellule nom
protégée.
A l'avenir je vais essayer de créer un environnement de
travail dans lequel toute opération de copie est
desactivée, j'ai déjà un projet en cours dans ce sense.
Donc voici mon code ultime, simple et je cois efficace,
toujours en partant de l'idée que le tout est protégé :


Private Sub Worksheet_SelectionChange(ByVal Plage As
Range)

Set Plage = Selection
LangueEnCours = Workbooks(ActiveWorkbook.Name).Sheets
("LEsDates").Range("LangueRegion").Value
Select Case LangueEnCours
Case Is = 1
FeuilleEnCours = ActiveSheet.Name
Case Is = 2
FeuilleEnCours = ActiveSheet.Name
End Select
If ActiveSheet.Name = FeuilleEnCours Then
Worksheets(FeuilleEnCours).EnableSelection =
xlUnlockedCells
If Plage.Rows.Count > 1 _
Or Plage.Columns.Count > 1 Then
Range(Cells(Plage.Row, Plage.Column), Cells
(Plage.Row, Plage.Column)).Select
End If
End If
End Sub


Ciao


.



Avatar
Dédé
Salut Joseph !

Tu risque bien de te retrouver avec ton adresse a-mail tout spamée ...;-((

Ne donne jamais ton adresse en clair aur un NG car les robot spameurs en
sont friant ...

Une solution serait de la coder comme la plupars des contributeurs ou bien
de la donner uniquement en BAL perso !! du style et
tu met une remarque comme celle-là : remplacer Toto par Joseph, Tutu par
Sciretta et blablabla par Manpower ;-))) Du coup, tu te fais pas avoir
...;-)

Salutation à toi et tes collaborateurs de Elan-IT ;-))

Dédé (Alias Olivier Demont )

--
Pour me répondre, copiez cette formule dans excel ;-) et sur une seule ligne
!
ÊR(83)&CAR(117)&CAR(103)&CAR(117)&CAR(115)&CAR(49)&CAR(50)&CAR(48)&CAR(48)
&CAR(50)&CAR(64)&CAR(121)&CAR(97)&CAR(104)&CAR(111)&CAR(111)&CAR(46)&CAR(102
)&CAR(114)

Sites de références,
Word :
http://faq.ms.word.free.fr/
Barre de menu disparues ? voir ici -
http://faq.ms.word.free.fr/Environnement/Environnement_reponses.htm#e1
Incrémentation chronologique ?
http://faq.ms.word.free.fr/VBA/VBA_reponses.htm#v3
Chiffres en lettres ? (Word et Excel)
http://faq.ms.word.free.fr/VBA/VBA_reponses.htm#v4
Excel :
http://www.excelabo.net/
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#accueil_xl
http://dj.joss.free.fr/faq.htm
http://perso.wanadoo.fr/frederic.sigonneau/
http://excel.1.free.fr/

a écrit dans le message de
news:098d01c3a389$8fc5ae50$
Salut je suis de Genève,

tu peux m'envoyer ton fichier à
l'adresse suivante :



Ciao et A+

-----Message d'origine-----
Salut,
ton code :
If Plage.Rows.Count > 1 _
Or Plage.Columns.Count > 1 Then
Range(Cells(Plage.Row, Plage.Column), Cells
(Plage.Row, Plage.Column)).Select
End If
est bien pense....
Je vais egalement l'utiliser... car j'ai 2 cellules ou
l'utilisateur doit

modifier et creer une liste de noms d'eleves......
Veux-tu un exemple de fichier que j'ai d'ailleur envoye a
misange ?

(t'inquietes il est vide...)
Pour savoir t'es d'ou ?
@+
Michel.



"JS" wrote in
message

news:06f801c3a2ec$f5586b60$
Resalut,
C'est clair que nous avons un problème assez différent.
Dans mon classeur l'utilisateur est guidé et ne peut
monifier uniquement certeines cellules, l'utilisateur peut
et suivant doit modifier des informations.
Si j'ai bien compris, dans ton cas l'utiliateur ne doit en
aucun cas modifier le classeur, j^'ai vu juste ?
Je trouve ton approche intéressante, je vais en resortir
des idées.
Pour mois le but untime c'est que l'utilisateur ne puisse
pas copier certeines plages de cellules, qui sont soit
masquées soit protégées, dans un autre classeur.
Pour le moment je crois avoir trouvé une solution
relativement simple, si l'utilisateur sélectionne plus
d'une cellule à la fois, sa sélection revien à la premiere
cellule sélectionnée, qui est forcement une cellule nom
protégée.
A l'avenir je vais essayer de créer un environnement de
travail dans lequel toute opération de copie est
desactivée, j'ai déjà un projet en cours dans ce sense.
Donc voici mon code ultime, simple et je cois efficace,
toujours en partant de l'idée que le tout est protégé :


Private Sub Worksheet_SelectionChange(ByVal Plage As
Range)

Set Plage = Selection
LangueEnCours = Workbooks(ActiveWorkbook.Name).Sheets
("LEsDates").Range("LangueRegion").Value
Select Case LangueEnCours
Case Is = 1
FeuilleEnCours = ActiveSheet.Name
Case Is = 2
FeuilleEnCours = ActiveSheet.Name
End Select
If ActiveSheet.Name = FeuilleEnCours Then
Worksheets(FeuilleEnCours).EnableSelection > xlUnlockedCells
If Plage.Rows.Count > 1 _
Or Plage.Columns.Count > 1 Then
Range(Cells(Plage.Row, Plage.Column), Cells
(Plage.Row, Plage.Column)).Select
End If
End If
End Sub


Ciao


.