Bouton a bascule et verrouillage de cellule
Bonjour a tous , je suis tte nouvelle sur le forum et un peu perdue pr etre franche
jai un gros soucis avec le bouton a bascule
J'aimerais faire un bouton qui me verrouille/deverouille plusieurs cellules en fonction de la position du bouton.
Les cellules que je souhaite verrouillé sont juste mis en noir (car je ne sais pas verouiller aussi , je suis nulle je sais )
je suis desolée pour les expliquations floues mais j'aimerais de l'aide au plus vite
Merci , je serais vraiment reconnaissante
je vous joint un fichier excel .
Bonjour. Bienvenue sur le Forum
Les cellules que je souhaite verrouillé sont juste mis en noir
Je ne vois aucune cellule noire dans ton fichier. Où sont-elles? (Ok, vu le Code)
Cordialement
Bonjour
Peut-être
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
Range("K17,K19,U18").Interior.ColorIndex = 1
Range("K17,K19,U18").Locked = True
Else
Range("K10,K13,U16").Interior.ColorIndex = 2
If ToggleButton1.Value = False Then
Range("K17,K19,U18").Interior.ColorIndex = 2
Range("K17,K19,U18").Locked = False
Else
Range("K10,K13,U16").Interior.ColorIndex = 1
End If
End If
End Sub
Si besoin, tu rajouteras la ligne Locked pour les autres cellules
Cordialement
Je vous explique .
Tous se passe dans la derniere feuille "budget link"
je calcul 2 Grandeurs physiques : la marge ou la distance
jai voulu faire une interface simple , en creant un bouton a bascule pour permettre de verouiller les case qui ne servent pas a calculer une des 2 grandeurs ( jespere que vous m'avez suivi ) . Ma macros n'est pas au point ... j'aimerais pouvoir verrouiller dans certains cas des cellules
j'espere avoir été claire
Merci
voila le fichier , decidement je suis tete en l'air :s
Bonjour,
Amadéus, les copier-coller avec la faute de frappe c'est mal
=> .locked pas .loched
Sinon je ne suis pas sûr que seulement mettre locked à true ou false suffise, ne faut-il pas protéger / déprotéger la feuille pour que le blocage soit pris en compte ?
Cordialement,
Edit Amadéus: Bonjour Zirak. Merci de ta remarques. En fait, l'erreur était dans l'écriture et je l'avais bien rectifiée sur le code pour tester. Autant pour moi! j'aurais du envoyer le fichier test. C'est corrigé
Merki !! en effet le programme marche mieux ^^ ,
mais il ne me noicit pas les case K10 ,K13, et U16 lorsque le bouton est enfoncé
ps: les cases ne sont pas verrouillée , je ne comprend sa ne marche pas sniff
Bonjour,
Si j'ai bien compris la demande, voir le fichier joint.
Cordialement,
sa marche c parfait , merci beaucoup hihi
j'aimerais régler un détail , ma maccros concernant la couleur de la case U16 , enfait je voudrais a ne pas avoir a appuyer sur le bouton pour que la case se mettre soit rouge soit verte , c'est a dire supprimer le bouton et rendre automatique ce procedé de coloriage de cellule a louverture du fichier :s
dsl pr les explication bateau
Bonjour,
merci pour le doublon : https://forum.excel-pratique.com/excel/coloriage-de-cellules-en-fct-de-l-etat-du-bouton-a-basule-t35042.html
C'est toujours un plaisir de bosser pour rien...
eric
Bonjour Eric ,
sans vouloir vous offenser vous ne bosser pas pour rien , au contraire , jai pu considerablement avancé dans mes travaux . j'ai juste récuperer le dossier d'un coéquipier ou nous travaillons en equipe. Nous travaillons sur le meme sujet . Deplus je trouve les membre de se forum tres actif et je vous en remercie grandement .
Maintenant voila je suis de nouveau bloquée, et mes compétences me permettent pas d'avancée une nouvelle fois , comme je vous l'ai ecrit dans le precedent message. (excusez moi detre super nulle...)
Cordialement
Alors déjà, de toutes façons le code de ton bouton n'est pas bon, enfin y'en a trop pour rien:
Private Sub CommandButton1_Click()
Range("U16").Select
For Each Cell In Selection
If Cell.Value > "0" Then
Cell.Interior.ColorIndex = 3
End If
If Cell.Value > "0" Then
Cell.Interior.ColorIndex = 4
End If
Next
End Sub
Tu utilises une boucle For Each.... Next alors que tu n'as qu'une seule cellule de selectionnée, cela ne sert à rien de faire une boucle.
De plus, que cela soit pour le vert ou le rouge, tu lui dis de colorer si la valeur est supérieur à 0, tu as du te tromper et inverser avec un < sur un des deux.
Ensuite si tu veux te passer du bouton, il faut soit que tu utilises les mises en forme conditionnelles mais du coup la case ne sera plus noircie par ton autre macro, soit incorporer ton test de valeur dans ton autre macro.
un essais ci-joint.
Edit: par contre, si vous êtes 2 à bosser sur le même projet, mettez vous au point quand même, cela ne sert à rien d'ouvrir un sujet chacun pour la même question, tout le monde n'a pas le temps de regarder tous les sujets, et du coup, en fait si, vous faites travailler 2 personnes sur la même chose, alors que la 2ème pourrait aider quelqu'un d'autre
Et en ce qui concerne ma macros , maintenant que tu mle dis ("jespere que jpeux te tutoyer ") , jai oublier de changer le signe pour valeur négative = rouge .
Euhh ton programme marche parfaitement jte remercie , mais je comprend pas ta démarche , est ce que tu pourrait explicité chaque ligne de ta maccros " worksheet calcul" car j'aimerais comprendre pour réutiliser voir expliquer a qqlqun (c pas encore gagné ) la démarche
Merci
Cordialement
Alors, je pense que tu parles de cette partie là :
If Not IsError(Range("U16")) Then
If Range("U16").Value < 0 Then
Range("U16").Interior.ColorIndex = 3
ElseIf Range("U16").Value > 0 Then
Range("U16").Interior.ColorIndex = 4
End If
Else
Range("U16").Interior.ColorIndex = 2
End If
En fait au départ, j'étais juste partie sur le fait de mettre en rouge si c'était négatif, et en vert si c'était positif (la partie surlignée), sauf que je me suis aperçu que lorsque tes premières cellules de calculs avec les logarithmes n'étaient pas remplies, la cellule U16 affichait une erreur (ce qui faisait afficher un message d'erreur vba au moment de changer la couleur).
J'ai donc ajouté un test pour dire :
Si la valeur de la cellule n'affiche pas d'erreur alors
Si elle est négative alors
je la passe en rouge
Sinon
je la passe en vert
Sinon si il y a une erreur
Je la repasse en blanc
Donc ça c'était dans le code de ton bouton à bascule, mais ensuite, je me suis rendu compte que une fois ton bouton enclenché, si tes valeurs venaient à changer, la cellule ne changeait pas de couleur elle, vu que la coloration se fait par action sur le bouton.
Ne sachant si ce cas de figure pouvait se présenter (changement des valeurs entre 2 actions sur le bouton), j'ai donc rajouter le même traitement que sur le bouton, mais dans un évènement Worksheet_Calculate().
En gros, un évènement Worksheet_Calculate(), c'est un bout de macro, qui se déclenche à chaque fois que sur cette feuille précisément, Excel recalcul des valeurs. Tu peux donc trouver des Worksheet_Calculate() sur les pages de codes de tous tes onglets (avec des traitements différents), mais tu n'en trouveras jamais dans des modules (qui eux sont à l'inverse, utilisé pour stock des macros que tu peux appeller de toutes tes feuilles).
J'espère avoir été assez clair, sinon n'hésites pas à demander. (Et non le tutoiement ne me dérange pas).
Cordialement,
Bonjour a toi , Bonne Année , meilleur voeux pour cette année 2013
J'ai un petit soucis avec mon fichier excel :s decidement l'année commence mal
Jmexplique, quand le bouton en haut a gauche est enfoncé , ("DISTANCE") , et que je remplies la cellules U18 et que je valide , la cellule en noire qui située au dessus ,( la U16 pour etre claire) se remet curieusement en blanche :s
C'est un petit défaut que j'aimerais corriger (oui je suis perfectionniste ... mais nulle en vba , decidement rien ne va)
Je compte vraiment sur vous pr me sauver plz
Cordialement