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

Macro à double fonction

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

R

Rublon eric

Guest
J'ai une macro qui me fait une operation qui fonctionne tres bien (ci joint le code ) J'aimerai utilisé cette meme macro donc sur le meme bouton pour annuler l'operation
Merci a tous le monde pour votre aide

Opération:

Range( _
"F16,F18,F20,F22,F24,F26,F28,F30,F32,F34,F36,F38,F40,F42,F44,F46,F48,F50,F52"). _
Select
Range("F52").Activate
Selection.Interior.ColorIndex = 15
Range("F56").Select
ActiveCell.FormulaR1C1 = "=IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",0/24)"
Range("AB56").Select
 
Salut Eric

Ca te va ca?

Range( _
"F16,F18,F20,F22,F24,F26,F28,F30,F32,F34,F36,F38,F40,F42,F44,F46,F48,F50,F52"). _
Select
Range("F52").Activate
k=Selection.Interior.ColorIndex
If k= 15 then
Selection.Interior.ColorIndex = CouleurD'Origine
Else : Selection.Interior.ColorIndex = 15
end if
Range("F56").Select
ActiveCell.FormulaR1C1 = IIf(k=15,"","=IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",0/24)")
Range("AB56").Select

Le Fnake
 
Salut le Fnake

Ca fonctionne, et c’est exactement ce que je voulais

Merci beaucoup

Mais la partie
Range("F56").Select

ActiveCell.FormulaR1C1 = IIf(k = 15, "", "=IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",0/24)")

Range("AB56").Select

ne fonctionne que dans un sens mais je n’ai pas du précisé asser : la cellule F56 la formule suivante =SI(NB.SI($AP$18:$AP$34;F$14)>0;"";8/24), en cliquant la première fois la partie 8/24 se transforme bien en 0/24 mais quand je clique la 2 eme fois la formule devrai revenir a =SI(NB.SI($AP$18:$AP$34;F$14)>0;"";8/24) mais celle ci disparaît complètement.

As tu une solution ?







Range( _

"F16,F18,F20,F22,F24,F26,F28,F30,F32,F34,F36,F38,F40,F42,F44,F46,F48,F50,F52"). _

Select

Range("F52").Activate

k = Selection.Interior.ColorIndex

If k = 15 Then

Selection.Interior.ColorIndex = CouleurD 'Origine

Else: Selection.Interior.ColorIndex = 15

End If

Range("F56").Select

ActiveCell.FormulaR1C1 = IIf(k = 15, "", "=IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",0/24)")

Range("AB56").Select
 
Salut Eric,

Une solution ? euh pas vraiment... je saisis pas vraiment ce que tu veux faire dans cette cellule F56...
Si tu veux que la formule soit appliquée a chaque fois, il faut remettre comme c'etait avant, à savoir :
ActiveCell.FormulaR1C1 = "=IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",0/24)"

Moi je l'avais modifiée de sorte qu'elle ne s'applique que dans le premier cas.

le Fnake
 
Salut le fnake
Oui, je debute sur le forum je vais suivre ton conseil et ne pas utiliser les email.
En fait c'est le contraire pour la formule, a la base avant de cliquer sur le bouton la formule est IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",8/24)
En cliquant la premiere fois sur le bouton la formule doit se transformer en
IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",0/24) et en cliquant la 2 em fois la formule doit revenir en l'etat
IF(COUNTIF(R18C42:R34C42,R14C)>0,"""",8/24)
La premier operation se deroule bien mais en cliquant la 2em fois la formule disparait totalement
Pour ce qui est des celulles a grisé ca fonctionne parfaitement
Voila voila
Merci d'avance
 
- 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
3
Affichages
772
Réponses
4
Affichages
2 K
Réponses
1
Affichages
2 K
Compte Supprimé 979
C
D
Réponses
9
Affichages
2 K
Z
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…