Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Macro ou VBA pour automatisser les actions sur Excel

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

  • Planning chantiers.xlsm
    59.1 KB · Affichages: 5

Lolote83

XLDnaute Barbatruc
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
 

Phil69970

XLDnaute Barbatruc
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…