Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion toad1618
  • 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

toad1618

Guest
Bonjour,

J'ai un code VBA qui me permet de modifier la mise en forme de mes cellule par rapport à une certaine valeur.

Cependant j'aimerais qu'il ne se lance pas automatiquement. J'aimerais qu'il se lance que lorsque je lui ordonne (Par un bouton de la barre d'outils "Formulaire". Comment est ce que je pourrais faire.

Merci d'avance

Voici le code VBA

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:CM186")) Is Nothing Then
With Target
.Interior.ColorIndex = _
Switch(.Value = "c", 4, .Value = "tp", 6, _
.Value = "at", 8, .Value = "f", 7, _
.Value = "vs", 40, .Value = "a", 30, _
.Value = "", -4142)
.Font.ColorIndex = _
Switch(.Value = "c", 4, .Value = "tp", 6, _
.Value = "at", 8, .Value = "f", 7, _
.Value = "vs", 40, .Value = "a", 30, _
.Value = "", 2)
End With
End If
End Sub
 
Re : Ecode VBA

Bonjour,

Comme point de départ, voilà comment procéder :

1. Depuis le module de ta feuille, copier ta macro dans un module standard

2.Modifier cette macro en lui donnant un nom approprié et en remplaçant Target par ActiveCell partout dans le code ...

3. Supprimer la macro dans le module feuille

4. Adapter comme tu le veux, l'appel de cette nouvelle macro ...

A +
🙂
 
Re : Ecode VBA

Par contre j'aurais juste une présicions

Mon macro s'applique bien seulement quand je selectionne plusieur cellule et que je fais mon raccourci macro, il ne prend que une cellule et ne s'applique pas à toute ma séléction. Comment faire pour que lorsque je selectionne une plage de cellule le macro s'applique aus autres sélectionnées ?

Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 28/01/2011 par administrateur
'
' Touche de raccourci du clavier: Ctrl+f
'

If Not Application.Intersect(ActiveCell, Range("B4:K52")) Is Nothing Then
With ActiveCell
.Interior.ColorIndex = _
Switch(.Value = "c", 1, .Value = "tp", 1, _
.Value = "at", 1, .Value = "f", 1, _
.Value = "vs", 1, .Value = "a", 1, _
.Value = "", -4142)
.Font.ColorIndex = _
Switch(.Value = "c", 1, .Value = "tp", 1, _
.Value = "at", 1, .Value = "f", 1, _
.Value = "vs", 1, .Value = "a", 1, _
.Value = "", 1)
End With
End If
End Sub '

Merci
a+
 
Re : Ecode VBA

re,

J'ai essayé mais cela ne fonctionne pas. Quand je sélection plusieurs cellules et que j'appuie sur le bouton de mon macro, il ne m'applique que sur une cellule. J'ai essayé de remplacer activecell par selection mais il cela ne fonctionne pas

Merci
A+

Voici un fichier exemple en pièce jointe
 

Pièces jointes

- 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
5
Affichages
912
Réponses
4
Affichages
735
Réponses
8
Affichages
390
Réponses
2
Affichages
411
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…