un bouton pour deux macros inversées

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 !

MICHAEL

XLDnaute Occasionnel
Bonjour,

j'utilise ce code pour passer de min à maj et reciproquement.
pour cela j'ai besoin de deux bouton
un maj/min
un min/maj

mon souhait serai d'utiliser un seul bouton (à chaque clic dessus cela inverse la sélection)

pensez vous que cela soit possible apres modif du code

merci






Sub majuscules()

traite_casse ("maj")

End Sub

Sub minuscules()

traite_casse ("min")

End Sub

Sub traite_casse(comment As String)

Dim cellule As Range

For Each cellule In Selection

If (comment = "maj") Then
cellule = UCase(cellule)
Else
cellule = LCase(cellule)

End If

Next cellule

End Sub
 
Bonjour Michael, bonjour le forum,

J'ai utilisé un bouton (CommandButton) issue de la barre d'outil Contrôles ActiveX avec comme propriété [Caption] : Changer la Casse et le code ci-dessous :

VB:
Private Sub CommandButton1_Click()
Dim PL As String 'déclare la variable PL (Premiere Lettre)

PL = Mid(Selection.Cells(1, 1), 1, 1) 'définit la première lettre du premier mot de la premiere cellule de la sélection
If Asc(PL) < 97 Then traite_casse ("min") Else traite_casse ("maj") 'agit en fonction du code ascii de PL
End Sub

Sub traite_casse(comment As String)
Dim cellule As Range

For Each cellule In Selection
  If (comment = "maj") Then
  cellule = UCase(cellule)
  Else
  cellule = LCase(cellule)
  End If
Next cellule
End Sub
 
Bonsour®
Bonjour,

j'utilise ce code pour passer de min à maj et reciproquement.
pour cela j'ai besoin de deux bouton
un maj/min
un min/maj
mon souhait serai d'utiliser un seul bouton (à chaque clic dessus cela inverse la sélection)
pensez vous que cela soit possible apres modif du code
upload_2019-2-20_11-17-37.png

VB:
Private Sub CommandButton1_Click()
    Dim cellule As Range, Casse As Boolean
        With CommandButton1
            .Caption = IIf(.Caption = "MAJ", "Min", "MAJ")
            Casse = (.Caption = "MAJ")
        End With
    DoEvents
    For Each cellule In Selection
        If Casse = True Then
            cellule = LCase(cellule)
        Else
            cellule = UCase(cellule)
        End If
    Next cellule
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

Discussions similaires

Réponses
3
Affichages
621
Réponses
32
Affichages
2 K
N
Réponses
6
Affichages
2 K
S
Réponses
3
Affichages
850
sanae_J
S
Retour