Changer la formule de plusieurs cellules avec une case a cocher

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

lcoulon

XLDnaute Occasionnel
Bonjour

Je ne sais pas si cela est concevable, mais je cherche, grace a une Case a Cocher à modifier ou non la formule d'environ 500 cellules d'un seul coup :

Par exemple :

si la case n'est pas coché , alors la formule en A1 est :

=IF(OR(ISBLANK(VLOOKUP(A1,SCAN!$C$3:$D$500,2,0)),ISERROR(VLOOKUP(A1,SCAN!$C$3:$D$500,2,0))),"",VLOOKUP(A1,SCAN!$C$3:$D$500,2,0))

la formule en A2 est :

=IF(OR(ISBLANK(VLOOKUP(A2,SCAN!$C$3:$D$500,2,0)),ISERROR(VLOOKUP(A2,SCAN!$C$3:$D$500,2,0))),"",VLOOKUP(A2,SCAN!$C$3:$D$500,2,0))

etc ...

Si maintenant la case est coché, toutes les cellules auraient leur formules modifiées ainsi :

pour A1 :

=IF(OR(ISBLANK(VLOOKUP(A1,STOCK!$D$3:$E$500,2,0)),ISERROR(VLOOKUP(A1,STOCK!$D$3:$E$500,2,0))),"",VLOOKUP(A1,STOCK!$D$3:$E$500,2,0))

A2 deviendrait :

=IF(OR(ISBLANK(VLOOKUP(A2,STOCK!$D$3:$E$500,2,0)),ISERROR(VLOOKUP(A2,STOCK!$D$3:$E$500,2,0))),"",VLOOKUP(A2,STOCK!$D$3:$E$500,2,0))

... etc ...

L'idée est donc qu'en cas de case coché les formules ( ici il ne s'agit que d'une plage de calcul ) sont modifiées.


Je vous remercie de votre aide ,
 
Re : Changer la formule de plusieurs cellules avec une case a cocher

bonjour lcoulon

En VBa on aurait quelque chose du genre:
Code:
if check then
Range("A1").formula=Replace(Range("A1").formula,"SCAN","STOCK")
else
Range("A1").formula=Replace(Range("A1").formula,"STOCK","SCAN")
end if
 
Re : Changer la formule de plusieurs cellules avec une case a cocher

Merci Pierre Jean

J'avais pensé à Formula mais dans l'exemple que tu proposes, la case a coché modifirai A1 seulement.

J'ai environ 500 cellules a modifier en fonction d'une case a cocher alors je ne sais pas si on peux appliquer la macro a 500 cellules .

est ce possible ?
 
Re : Changer la formule de plusieurs cellules avec une case a cocher

Re

Oui , il suffit d'un peu de patience mais surtout de savoir quelles sont lesdites cellules
Mon reseau telepathie Haut debit est en panne, ma boule de cristal itou et je n'ai plus de marc de café depuis que je suis à la tisane
pendant que tu y sera dis-nous egalement comment se nomme ta case à cocher
 
Re : Changer la formule de plusieurs cellules avec une case a cocher

re-

voici plus d'infos :

Les cellules qui seraient impactées par la case a cocher seraient E3:E500 de la feuille ABC.

le nom de la case a cocher serait " Check Box 381 "


Merci PierreJean
 
Re : Changer la formule de plusieurs cellules avec une case a cocher

Re

cela nous donnerait donc quelque chose comme

Code:
for each cel in sheets("ABC").Range("E3:E500")
   if CheckBox381 = True then
     cel.formula=Replace(cel.formula,"SCAN","STOCK")
  else
     cel.formula=Replace(cel.formula,"STOCK","SCAN")
  end if
next cel

A tester tout de même !!!
 
Re : Changer la formule de plusieurs cellules avec une case a cocher

Merci PierreJean,

Avec une case à cocher :

Cela fonctionne mais qu'une fois seulement, une fois les cellules modifiées, le fait de décocher la case ne rétabli pas la formule a son origine ...

si par contre je crée 2 boutons, et a chacun j'affecte l'un des 2 choix, ça fonctionne bien.

un " Toggle Button " fonctionne bien aussi ...
 
Dernière édition:
Re : Changer la formule de plusieurs cellules avec une case a cocher

Pour les boutons, j'ai créé une macro pour chaque, inspirée de ta proposition :
Code:
Sub Swap_Partnumbers_EOS()

For Each cel In Sheets("Traitement").Range("E3:E500")
    
     cel.Formula = Replace(cel.Formula, "SCAN!$C$3:$D$500", "STOCK_EOS!$A$3:$B$500")

Next cel

End Sub

et l'autre bouton :

Code:
Sub Swap_Partnumbers_SCAN()

For Each cel In Sheets("Traitement").Range("E3:E500")
    
     cel.Formula = Replace(cel.Formula, "STOCK_EOS!$A$3:$B$500", "SCAN!$C$3:$D$500")

Next cel

End Sub

Pour le bouton a bascule, ton code fonctionne parfaitement sans modifs.
 
- 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

Réponses
3
Affichages
330
Réponses
1
Affichages
1 K
Réponses
22
Affichages
3 K
Retour