Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment réinitialiser les cellules non protégé

7 réponses
Avatar
oi ram
j'ai fait une feuille de calcul,certaines cellules sont verrouillées, une
fois le résultat obtenu ! comment faire pour selectionner tout le tableau et
réinitialiser les cellules non protégé avec le chiffre 0 de façon à voir ou
entrer les données

7 réponses

Avatar
LSteph
Bonjour,

Dans les options de protection tu pouvais décocher la sélection des
cellules verrouillées.Elles auraient seules été accessibles.
Indépendamment pour ta demande on peut faire cela en vba
supposons l'emplacement global de ton tableau en A2:g100
et que dans outils options affichage valeurs zero est bien coché.

'''dans un module standard
''''''''''''''
sub Azero()
dim c as range
for each c in [a2:g100].cells
if not c.locked then c.value=0
next c
end sub
''''''''''''''


'lSteph




oi ram a écrit :
j'ai fait une feuille de calcul,certaines cellules sont verrouillées, une
fois le résultat obtenu ! comment faire pour sélectionner tout le tableau et
réinitialiser les cellules non protégé avec le chiffre 0 de façon à voir ou
entrer les données


Avatar
oi ram
En fait je veux créer un bouton en bas de page intitulé
''réinitialisé''losque le calcul est terminé l'utilisateur pour réinitialiser
les donnés donc les cellules non protégés se mette automatiquement à 0

"LSteph" a écrit :

Bonjour,

Dans les options de protection tu pouvais décocher la sélection des
cellules verrouillées.Elles auraient seules été accessibles.
Indépendamment pour ta demande on peut faire cela en vba
supposons l'emplacement global de ton tableau en A2:g100
et que dans outils options affichage valeurs zero est bien coché.

'''dans un module standard
''''''''''''''
sub Azero()
dim c as range
for each c in [a2:g100].cells
if not c.locked then c.value=0
next c
end sub
''''''''''''''


'lSteph




oi ram a écrit :
> j'ai fait une feuille de calcul,certaines cellules sont verrouillées, une
> fois le résultat obtenu ! comment faire pour sélectionner tout le tableau et
> réinitialiser les cellules non protégé avec le chiffre 0 de façon à voir ou
> entrer les données



Avatar
MichDenis
Voici une façon de faire :

Met tout ce qui suit dans un module standard.

'Dans le haut d'un module standard, déclaration de la variable
'tableau qui va contenir l'ensemble des adresses des cellules
'dont tu veux conserver la possibilité d'éditer.
Dim Arr()

'Procédure pour initialer ton tableau. Tu appelles cette procédure
'à partir de l'événement "Private Sub Workbook_Open" situé
'dans le ThisWorkbook de ton classeur
'-------------------------------------------
Sub Initialer_Mon_Tableau()
Arr = Array("A1", "B5:B10", "G1:H32", "K25")
End Sub
'-------------------------------------------

'Au besoin, aide à définir les seules cellules accessibles dans
'ta feuille la toute première fois !
'-------------------------------------------
Sub Définir_Et_Accéder_Aux_Cellules()

With Feuil1
.Unprotect
.Cells.Locked = True
For Each elt In Arr
.Range(elt).Locked = False
Next
.Protect
End With
End Sub
'-------------------------------------------

'Quand tu le désires, remet le contenu de chacune
'des cellules accessibles à Zéro
'-------------------------------------------
Sub Remettre_A_Zéro()
With Feuil1
Application.EnableEvents = False
For Each elt In Arr
.Range(elt).Value = 0
Next
Application.EnableEvents = False
End With
End Sub
'-------------------------------------------




"oi ram" a écrit dans le message de groupe de discussion
:
En fait je veux créer un bouton en bas de page intitulé
''réinitialisé''losque le calcul est terminé l'utilisateur pour réinitialiser
les donnés donc les cellules non protégés se mette automatiquement à 0

"LSteph" a écrit :

Bonjour,

Dans les options de protection tu pouvais décocher la sélection des
cellules verrouillées.Elles auraient seules été accessibles.
Indépendamment pour ta demande on peut faire cela en vba
supposons l'emplacement global de ton tableau en A2:g100
et que dans outils options affichage valeurs zero est bien coché.

'''dans un module standard
''''''''''''''
sub Azero()
dim c as range
for each c in [a2:g100].cells
if not c.locked then c.value=0
next c
end sub
''''''''''''''


'lSteph




oi ram a écrit :
> j'ai fait une feuille de calcul,certaines cellules sont verrouillées, une
> fois le résultat obtenu ! comment faire pour sélectionner tout le tableau et
> réinitialiser les cellules non protégé avec le chiffre 0 de façon à voir ou
> entrer les données



Avatar
MichDenis
Attention, dans la procédure : Sub Remettre_A_Zéro()

La deuxième occurrence de
Application.EnableEvents = False
On doit plutôt utiliser :
Application.EnableEvents = True
pour réactiver les procédures événementielles.
Avatar
gmlsteph
Bonjour,

La réponse est à ceci:
"> réinitialiser les cellules non protégé avec le chiffre 0 de faço n à
voir ou
entrer les données



ou on a pas dû comprendre la même chose, regarde ma proposition
Ces cellules sont selon ce qu'en dit le questionneur déjà
déverouillées , le but était d'y mettre des zéros:

'''dans un module standard
''''''''''''''
sub Azero()
dim c as range
for each c in [a2:g100].cells
if not c.locked then c.value=0
next c
end sub
''''''''''''''

;-)





On 2 avr, 14:39, "MichDenis" wrote:
Voici une façon de faire :

Met tout ce qui suit dans un module standard.

'Dans le haut d'un module standard, déclaration de la variable
'tableau qui va contenir l'ensemble des adresses des cellules
'dont tu veux conserver la possibilité d'éditer.
Dim Arr()

'Procédure pour initialer ton tableau. Tu appelles cette procédure
'à partir de l'événement "Private Sub Workbook_Open" situé
'dans le ThisWorkbook de ton classeur
'-------------------------------------------
Sub Initialer_Mon_Tableau()
Arr = Array("A1", "B5:B10", "G1:H32", "K25")
End Sub
'-------------------------------------------

'Au besoin, aide à définir les seules cellules accessibles dans
'ta feuille la toute première fois !
'-------------------------------------------
Sub Définir_Et_Accéder_Aux_Cellules()

With Feuil1
    .Unprotect
    .Cells.Locked = True
    For Each elt In Arr
        .Range(elt).Locked = False
    Next
    .Protect
End With
End Sub
'-------------------------------------------

'Quand tu le désires, remet le contenu de chacune
'des cellules accessibles à Zéro
'-------------------------------------------
Sub Remettre_A_Zéro()
With Feuil1
    Application.EnableEvents = False
    For Each elt In Arr
        .Range(elt).Value = 0
    Next
    Application.EnableEvents = False
End With
End Sub
'-------------------------------------------

"oi ram" a écrit dans le message de g roupe de discussion
:
En fait je veux créer un bouton en bas de page intitulé
''réinitialisé''losque le calcul est terminé l'utilisateur pour r éinitialiser
les donnés donc les cellules non protégés se mette automatiquement à 0

"LSteph" a écrit :



> Bonjour,

> Dans les options de protection tu pouvais décocher la sélection des
> cellules verrouillées.Elles auraient seules été accessibles.
> Indépendamment pour ta demande  on peut faire cela en vba
> supposons l'emplacement global de ton tableau en A2:g100
> et que dans outils options affichage valeurs zero est bien coché.

> '''dans un module standard
> ''''''''''''''
> sub Azero()
> dim c as range
> for each c in [a2:g100].cells
> if not c.locked then c.value=0
> next c
> end sub
> ''''''''''''''

> 'lSteph

> oi ram a écrit :
> > j'ai fait une feuille de calcul,certaines cellules sont verrouillée s, une
> > fois le résultat obtenu ! comment faire pour sélectionner tout le tableau et
> > réinitialiser les cellules non protégé avec le chiffre 0 de fa çon à voir ou
> > entrer les données- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
MichDenis
Bonjour,

J'ai bien vu ton message.

Dans un second temps, le demandeur signifiait ceci :

| ''réinitialisé''losque le calcul est terminé l'utilisateur pour réinitialiser
| les donnés donc les cellules non protégés se mette automatiquement à 0

De là ma proposition. Quant à faire, je lui ai suggéré une démarche.
Peut être n'ai-je pas compris la quintessence de son propos !
Je n'ai rien contre ta suggestion. Laissons au demandeur prendre ce qui lui convient.

;-)




a écrit dans le message de groupe de discussion :

Bonjour,

La réponse est à ceci:
"> réinitialiser les cellules non protégé avec le chiffre 0 de façon à
voir ou
entrer les données



ou on a pas dû comprendre la même chose, regarde ma proposition
Ces cellules sont selon ce qu'en dit le questionneur déjà
déverouillées , le but était d'y mettre des zéros:

'''dans un module standard
''''''''''''''
sub Azero()
dim c as range
for each c in [a2:g100].cells
if not c.locked then c.value=0
next c
end sub
''''''''''''''

;-)





On 2 avr, 14:39, "MichDenis" wrote:
Voici une façon de faire :

Met tout ce qui suit dans un module standard.

'Dans le haut d'un module standard, déclaration de la variable
'tableau qui va contenir l'ensemble des adresses des cellules
'dont tu veux conserver la possibilité d'éditer.
Dim Arr()

'Procédure pour initialer ton tableau. Tu appelles cette procédure
'à partir de l'événement "Private Sub Workbook_Open" situé
'dans le ThisWorkbook de ton classeur
'-------------------------------------------
Sub Initialer_Mon_Tableau()
Arr = Array("A1", "B5:B10", "G1:H32", "K25")
End Sub
'-------------------------------------------

'Au besoin, aide à définir les seules cellules accessibles dans
'ta feuille la toute première fois !
'-------------------------------------------
Sub Définir_Et_Accéder_Aux_Cellules()

With Feuil1
.Unprotect
.Cells.Locked = True
For Each elt In Arr
.Range(elt).Locked = False
Next
.Protect
End With
End Sub
'-------------------------------------------

'Quand tu le désires, remet le contenu de chacune
'des cellules accessibles à Zéro
'-------------------------------------------
Sub Remettre_A_Zéro()
With Feuil1
Application.EnableEvents = False
For Each elt In Arr
.Range(elt).Value = 0
Next
Application.EnableEvents = False
End With
End Sub
'-------------------------------------------

"oi ram" a écrit dans le message de groupe de
discussion
:
En fait je veux créer un bouton en bas de page intitulé
''réinitialisé''losque le calcul est terminé l'utilisateur pour réinitialiser
les donnés donc les cellules non protégés se mette automatiquement à 0

"LSteph" a écrit :



> Bonjour,

> Dans les options de protection tu pouvais décocher la sélection des
> cellules verrouillées.Elles auraient seules été accessibles.
> Indépendamment pour ta demande on peut faire cela en vba
> supposons l'emplacement global de ton tableau en A2:g100
> et que dans outils options affichage valeurs zero est bien coché.

> '''dans un module standard
> ''''''''''''''
> sub Azero()
> dim c as range
> for each c in [a2:g100].cells
> if not c.locked then c.value=0
> next c
> end sub
> ''''''''''''''

> 'lSteph

> oi ram a écrit :
> > j'ai fait une feuille de calcul,certaines cellules sont verrouillées, une
> > fois le résultat obtenu ! comment faire pour sélectionner tout le tableau et
> > réinitialiser les cellules non protégé avec le chiffre 0 de façon à voir ou
> > entrer les données- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
LSteph
c'est fou ce truc, je croyais que dans google on voyait tout ,
pourtant je ne vois le second post de "oi ram" que maintenant de retour
avec thunderbird...la demande ainsi changée, je comprends mieux !