Microsoft 365 Macro ou VBA pour automatisser les actions sur Excel

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 !

DAVH

XLDnaute Nouveau
Bonjour tout le monde,

J'aimerais faire les actions suivantes mais je ny arrive pas.
- Mettre automatiquement une bordure sous forme de croix (en couleur rouge) à une cellule lorsqu'elle est sélectionnée en cliquant sur un bouton
-Annuler l'action précédante (enlever la croix pour revenir à une cellule normale).
- Insérer automatiquement un texte et une couleur de fond dans une cellule en cliquant sur un bouton.
-Annuler l'action précédant.

J'ai essayé de le faire avec un macro mais excel me ramène toujours à la cellule sélectionnée au départ pour pour enrégistrer le macro.

Je vous mets en PJ le fichier excel. Merci d'avance 🙂
 

Pièces jointes

Bonjour,
Dans ta macro Sub Annuler(), remplacer simplement la ligne
Range("D7:E9").Select
par
ActiveCell.Select
voir code ci-dessous
VB:
Sub Annuler()
'
' Annuler Macro
' Chantier annulé
'
' Touche de raccourci du clavier: Ctrl+h
'
    'Range("D7:E9").Select
    ActiveCell.Select
    With Selection.Borders(xlDiagonalDown)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlDiagonalUp)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
       
        etc etc etc

et de même sur la macro2 pour l'effacement
Code:
Sub Macro2()
'
' Macro2 Macro
'

'
    'Range("D7:E9").Select
    ActiveCell.Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
En espérant avoir compris la problématique
@+ Lolote83
 
Bonjour @DAVH, @Lolote83, le forum

Je vous propose ceci beaucoup plus court :

VB:
Sub Annuler()
' Annuler Macro
' Chantier annulé
' Touche de raccourci du clavier: Ctrl+h

With ActiveCell
    .Borders(xlDiagonalDown).Weight = xlMedium
    .Borders(xlDiagonalUp).Weight = xlMedium
    .Borders(xlDiagonalDown).Color = vbRed
End With

End Sub

Sub Macro2() 'Tu devrais mettre un nom plus significatif
'Sub SupCroix() ' par exemple
With ActiveCell
    .Borders(xlDiagonalDown).LineStyle = xlNone
    .Borders(xlDiagonalUp).LineStyle = xlNone
End With

End Sub

@Phil69970
 
- 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

Retour