• Initiateur de la discussion Initiateur de la discussion titou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

titou

Guest
Bonjour,

Comment faire en macro pour disposer d'un bouton qui permettrait de basculer le texte d'une cellule en majuscule et derevenir en miniscule avec 1 autre clic. genre l'applicationdu gras : on clique 1 fois c'est en gras, on reclique c'est plus en gras !!!


Merci !
 
Bonjour Titou, bonjour le forum,

En pièce jointe un exemple avec un bouton bascule (ToggleButton).
[file name=titou.zip size=11253]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/titou.zip[/file]
 

Pièces jointes

Re : Macro bascule

Salut à tous!

Premières lignes de vba...
où est l'erreur s'il vous plaît ? :-(


If ToggleButton1.Value = True Then
Rows("14:45").Select
Selection.EntireRow.Hidden = False
Else 'sinon
Rows("14:45").Select
Selection.EntireRow.Hidden = True
End If
End Sub
 
Re : Macro bascule

Bonjour Jeremy, bonjour le forum,

Rigolo ce post de l'année dernière que tu as fait remonter... Je n'ai pas très bien compris ta question mais peut-être était-ce simplement le fait qu'il manque la prenière ligne (qui donne le nom de la macro ) :

Sub Macro1()
If ToggleButton1.Value = True Then
Rows("14:45").Select
Selection.EntireRow.Hidden = False
Else 'sinon
Rows("14:45").Select
Selection.EntireRow.Hidden = True
End If
End Sub
 
Re : Macro bascule

bonjour à tous

sinon, histoire de pinailler :
dans ton code if ..., dans les deux cas tu fais Rows("14:45").Select
en simplifiant :
Sub Macro1()
Rows("14:45").Select

If ToggleButton1.Value = True Then
Selection.EntireRow.Hidden = False
Else 'sinon
Selection.EntireRow.Hidden = True
End If
End Sub

 
Re : Macro bascule

Bonjour le fil, bonjour le forum,

Arrêtez de pinailler !!! Sinon il n'y aura plus de code du tout.
Jerémy franchement ! Y'a pas idée de faire remonter des codes aussi anciens... Regarde pour quoi je passe maintenant...
 
Re : Macro bascule

Désolé désolé!!
En fait j'avais pas de pb!

Maintenant j'ai un autre soucis qui sort des bouton bascule...

Private Sub Worksheet_Activate()

Rows("14:45").Select
Selection.EntireRow.Hidden = True

Sheets("AnalyseProduit").Select
Range("E56").Select
ActiveCell.FormulaR1C1 = "0%"
Sheets("Comparaison Matériaux").Select

End Sub


Sur la deuxième partie je veux qu'une cellule située sur une autre feuille prenne la valeur 0..mais là ça marche pas ça me met erreur 1004...pourquoi?

De plus j'aimerais que dès que je change d'onglet la valeur de la cellule redevient celle d'avant..mais j'ai aucune idée de la façon de faire alors je m'en remets à vous! 🙂 Svp 🙂)
 
Re : Macro bascule

Bonjour le fil, bonjour le forum.

Déjà, évite les Select qui ralentissent le code

Private Sub Worksheet_Activate()

Rows("14:45")..EntireRow.Hidden = True

Sheets("AnalyseProduit").Range("E56").FormulaR1C1 = "0%"
Sheets("Comparaison Matériaux").Range(Ta_cellule).Value=0

End Sub


Ton code se produit à l'Activation de l'onglet et dans celui-ci tu actives d'autres onglets. Ça peut-être périlleux...

Pour revenir à la valeur d'avant il faut prendre soin d'enregistrer cette valeur avant le changement puis de la restituer au changement d'onglet. Est-ce pour une seule cellule ou pour plusieurs ? Un fichier exemple serait le bienvenu...
 
Re : Macro bascule

Okkkkkay Merci bcp!
C super sympa! ça marche..presque!
Mis à part ce petit problème de valeur à stocker!

La deuxième partie c t en fait remettre à 0 la cellule E56 donc tu m'avais donné la réponse.
Concernant ce petit soucis de stockage de valeur: c juste que E56 doit reprendre sa valeur (un nombre) quand je sors de la page.

😉
 
Re : Macro bascule

Bonjour le fil, bonjour le forum,

Je te propose cette solution pour récupérer la valeur

Dans le composant ThisWorkbook ce code :
Code:
Private Sub Workbook_Open()
Module1.Macro1
End Sub

Dans le composant Worksheet de l'onglet en question ces codes :
Code:
Private Sub Worksheet_Activate()
Module1.Macro1
End Sub
Code:
[COLOR=navy]Private Sub Worksheet_Deactivate()
    Range("E56").Value = valE56
End Sub[/COLOR]

et dans un module ordinaire nommé Module1, ces codes :
Code:
Public valE56 As Variant
Code:
[COLOR=navy]Sub Macro1()
valE56 = Sheets("Feuil3").Range("E56") 'Feuille à adapter à ton cas
End Sub
[/COLOR]

À l'ouverture du classeur ou à l'activation de l'onglet "Feuil3" (tu adapteras à ton cas), la valeur de la cellule E56 est stockée dans la variable valE56. À la sortie de l'onglet, le code Deactivate restitue cette valeur à la cellule E56.
 
Re : Macro bascule

Voilà j'ai rajouté ça, mais j'ai besoin d'une info que j'ai pas..et l'aide de VBA marche pas..

Private Sub Worksheet_Activate()

'Le seuil de prise en compte des matériaux est à 0% lorsque l'on est sur cette page
Rows("14:45").EntireRow.Hidden = True


Dim x <=là est le problème je pense, je sais pas comment déclarer la variable
x = Sheets("AnalyseProduit").Range("E56").Value
Sheets("AnalyseProduit").Range("E56").Value = 0

End Sub


Private Sub Worksheet_Deactivate()

Sheets("AnalyseProduit").Range("E57").Value = x
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
23
Affichages
680
Réponses
15
Affichages
788
Réponses
14
Affichages
742
Retour