Microsoft 365 Un macro qui alterne entre 2 valeurs

  • Initiateur de la discussion Initiateur de la discussion pat66
  • 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 !

pat66

XLDnaute Impliqué
Bonjour le forum,

est il possible qu'en cliquant sur une forme l'on puisse, soit coller la valeur de BB15 dans A26 soit remettre A26 à zéro
Le 1er clic colle la valeur de BB15 dans A26
Le 2 ème clic remet A26 à zéro


merci d'avance pour vos conseils

cdt
 
Bonjour Le forum
Bonjour patricktoulon

Patrick vous m'aviez aidé avec cette macro qui fonctionne très bien et je vous en remercie encore
VB:
[A26]=array([BB15].value,0)(abs([A26].value=[bb15].value))

Pourriez vous encore m'aider mais cette fois en alternant la saisie de oui ou non dans la cellule N35

merci beaucoup
 
re,

merci patricktoulon, mais je t'ai induits en erreur, mille excuses !!

Ce n'est pas la police de N35 qui doit changer de couleur, mais la police de la forme ("Rectangle : coins arrondis 21")

je fais un clic sur un bouton :
[N35]=array("oui","non")(abs([N35].value="oui"))
Si N35 = "oui" alors la police du ("Rectangle : coins arrondis 21") devient rouge
clic suivant
N35 = "non", alors la police du ("Rectangle : coins arrondis 21") devient (rgb(0,32,96)

merci d'avance
 
encore une fois bonnet blanc blanc bonnet
activesheet.drawingobjects("Rectangle : coins arrondis 21").font.color=......le reste tu connais
vérifie le nom de ta shape des fois vba le reçois en anglais

et :
essaie un peu de comprendre la logique de cette ligne de code
tu va pas revenir a chaque fois que tu veux modifier ou t'en resservir pour autre chose

état=array(proposition1,proposition2)(abs(proposition=1))
état peut être une valeur , un état , une propriété , etc.....
 
re,

j'ai essayé avec les macros suivantes, mais cela ne fonctionne pas, pourrais-tu s'il te plait me mettre sur une piste ou me dire où je fais une erreur ?, merci d'avance

VB:
ActiveSheet.DrawingObjects("Rectangle : coins arrondis 21").Font.Color = Array(TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(0,32,96), TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, 0, 0))(Abs(ActiveSheet.DrawingObjects("Rectangle : coins arrondis 21").TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(0,32,96)))

ou aussi avec
VB:
ActiveSheet.DrawingObjects("Rectangle : coins arrondis 21").Font.Color = Array(Font.Color.RGB = RGB(0, 32, 96), Font.Color.RGB = RGB(255, 0, 0))(Abs(ActiveSheet.DrawingObjects("Rectangle : coins arrondis 21").Font.Color.RGB = RGB(0, 32, 96)))

ou aussi avec
Code:
ActiveSheet.DrawingObjects("Rectangle : coins arrondis 21").Font.Color = Array(Font.Color.RGB = RGB(0, 32, 96), Font.Color.RGB = RGB(255, 0, 0))(Abs(Font.Color.RGB = RGB(0, 32, 96)))

ou aussi avec

Code:
ActiveSheet.DrawingObjects("Rectangle : coins arrondis 21").Font.Color = Array(RGB(0, 32, 96), RGB(255, 0, 0))(Abs(RGB(0, 32, 96)))
 
Dernière édition:
bonjour le forum,

finalement j'ai opté pour une autre solution tout aussi efficace et j'ai modifié les couleurs
merci quand même
cdt

VB:
[N35] = Array("oui", "non")(Abs([N35].Value = "oui"))

If ActiveSheet.[N35].Value = "oui" Then
ActiveSheet.Shapes("Rectangle : coins arrondis 21").Fill.ForeColor.RGB = RGB(1, 122, 255)
ActiveSheet.Shapes("Rectangle : coins arrondis 21").TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, 255, 255)
Else
ActiveSheet.Shapes("Rectangle : coins arrondis 21").Fill.ForeColor.RGB = RGB(149, 179, 215)
ActiveSheet.Shapes("Rectangle : coins arrondis 21").TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(0, 32, 96)
End If
 
Dernière édition:
- 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