Créer un bouton pour activer/ déactiver une cellule

Résolu
Signaler
Messages postés
4
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
10 juin 2007
-
Messages postés
4
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
10 juin 2007
-
bonjour à tous!

Je suis une nouvelle sur ce forum.

Je voudrais créer un bouton pour activer/ déactiver une cellule dans mon fichier. comment je peux faire?

Merci d'avance!

Djie31

8 réponses

Messages postés
492
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
2 juillet 2012
4
bonjour,
Sur Excel ?
Activer/ déactiver, est-ce protégé/déprotégé une cellule ?
Si oui, en Excel tu ne peut pas déactivé une cellule en particulier.
La feuille doit être protégée, et tu peu alors "déprotégé" une cellule ou une plage.
A+
louis
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
Bonjour,
J'ai revu le code que je t"'ai proposé. Il faut l'oublié !!! En plus y a des bugs.
En fait en partant de "Worksheet_SelectionChange", la gestion de "Undo" est trop complexe aussi je l'ai ré-écrit en partant de "Worksheet_Change" est la "Undo" devient plus gérable. J'ai déposé le code dans un fichier excel à l'adresse ci-dessous.
http://www.vbfrance.com/code.aspx?ID=42937
Bon courage
JML
Messages postés
243
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
Salut
tu peux désactiver la cellule avec disabled
par exemple:

----

id= "cellule"style="border : 1px solid black;">test,

<scriptlangage="javascript">
function desactiver(){  
if(document.getElementById("cellule").disabled == true ){   //si la cellule est déjas désactiver
document.getElementById("cellule").disabled = false;   //on active la cellule
}
else{
document.getElementById("cellule").disabled = true;   //si la cellule est activé on la désactive
}
}
</script>

mais cette source ne marche pas sous firefox
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
58
Je pars du principe que c'est du VBA.
Si pas le cas, l'utilisateur pensera à poster dans la bonne section pour la prochaine fois.
Merci !













<hr />
-Blog-
Messages postés
243
Date d'inscription
vendredi 24 novembre 2006
Statut
Membre
Dernière intervention
21 décembre 2007
2
Salut
désolé si c'étais du VBA , j'ai donné un code en javascript
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
Bonjour,
En espérant que ça t'aidera. Il y a certainement des petits trucs à changer mais je pense avoir couvert un maximum de cas possible en terme de sélection

' Copier dans un module et à associer à un bouton
' Ce code permet de basculer le couleur indiquant le statut de la cellule
Option Explicit
Sub Bouton1_QuandClic()
' S'applique à la cellule sélectionnée
    If Selection.Interior.ColorIndex = 48 Then
      Selection.Interior.ColorIndex = xlNone
    Else
      Selection.Interior.ColorIndex = 48
    End If
End Sub
===============
' A copier dans le code de la feuille ou doit s'effectuer le controle
' Il peut certainement être simplifier surtout autour de la fonction undo qui n'est pas simple à maitriser
Option Explicit
Dim Undo_Ok, ChangeDone As Boolean
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim CurrentCell, Mess
On Error Resume Next
  CurrentCell = Target.Address  If ActiveCell.Interior.ColorIndex 48 And Undo_Ok False Then
    Mess = MsgBox("Cellule " & CurrentCell & " est désactivée" & vbCrLf & _
                  "Voulez-vous la ré-activer ?", vbYesNo + vbInformation, "Cellule Désactivée")
    If Mess = vbYes Then
      Bouton1_QuandClic
    Else
      Undo_Ok = True
      ChangeDone = True
      Application.Undo
    End If
  Else      If ActiveCell.Interior.ColorIndex 48 And ActiveCell.Address CurrentCell And Undo_Ok = True Then
        Undo_Ok = "Done"
        ChangeDone = True
        Application.Undo
      End If
  End If
  If Undo_Ok = True Then
    Undo_Ok = False
    ChangeDone = True
    Application.Undo
  End If
  Undo_Ok = False
  If ChangeDone = False Then
    ChangeDone = True
    Application.Undo
  End If
  If ActiveCell.Interior.ColorIndex = 48 Then
    ChangeDone = True
  Else
    ChangeDone = True
    Application.Undo
  End If
End Sub
Messages postés
4
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
10 juin 2007

Merci à tous! je vais essayer tous les solutions que vous m'avez me proposé.

Une autre question: est ce que on peut proteger des parties dans une document word XP? Par exemple: des phrases.

J'ai trouvé une solution qui propose par WORD 2007: utilisant l'onglet développer : Bouton Office -> Options Word -> Stadard (Afficher l'onglet du développeur dans le Ruban).

Mais, j'ai pas trouvé les onglets correspondant dans word XP.

Merci d'avance pour vos aides!

Bon week-end!!
Messages postés
4
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
10 juin 2007

Merci à tous mon problème en fin est resolu!