Macro à double fonction

  • Initiateur de la discussion Rublon eric
  • Date de début
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
 
L

Le Fnake

Guest
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
 
R

Rublon eric

Guest
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
 
L

Le Fnake

Guest
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
 
R

Rublon eric

Guest
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
 

Statistiques des forums

Discussions
312 672
Messages
2 090 773
Membres
104 662
dernier inscrit
Hurve