VBA - Condition If imbriquée dans If
Bonjour à tous,
Je reviens à nouveau pour un problème pour la création d'une macro.
Pour l'exposer cela correspondrait à cela :
J'ai une macro qui agit selon une condition if par rapport à une fonction.
En français cela serait :
" Si la cellule F3 est 11 alors tu fais ça :
- si C8 = "TotalGen" alors C13 = "(tous)" sinon C13 = C8
- ensuite si C10 = "TotalGen" alors C14 = "(tous)" sinon C14 = C10
- ensuite si F10 = "TotalGen" alors F14 = "(tous)" sinon F14 = F10
Mais si la cellule F3 est 12 alors tu fais ça : (et rebelote pour des nouvelles contraintes) "
Donc sous VBA je n'arrive pas à le traduire mais j'ai un squelette (non fonctionnel) comme ça :
sub comparaison()
If range("F3") = "11" then
if Range("C8").Value = "Total Général" Then Range("C13").Value = "(tous)"
else: Range("C13").Value = Range("C8").Value
end if
if Range("C10").Value = "Total Général" then Range("C14").Value = "(tous)"
else: Range("C14").Value = Range("C10").Value
end if
if Range("F10").Value = "Total Général" then Range("F14").Value = "(tous)"
else: Range("F14").Value = Range("F10").Value
end if
Elseif range ("F3") = "12" then
'....etc sur le même esprit qu'au dessus...
else: 'mon code si tout est négatif
end if
end sub
j'espère que vous comprenez ce que j'essaie de faire
Hyrule,
bonjour,
si tu mets une instruction sur la même ligne que le then, tu dois y mettre le else aussi et pas de end if
essaie ainsi
sub comparaison()
If range("F3") = "11" then
if Range("C8").Value = "Total Général" Then
Range("C13").Value = "(tous)"
else
Range("C13").Value = Range("C8").Value
end if
if Range("C10").Value = "Total Général" then
Range("C14").Value = "(tous)"
else
Range("C14").Value = Range("C10").Value
end if
if Range("F10").Value = "Total Général" then
Range("F14").Value = "(tous)"
else
Range("F14").Value = Range("F10").Value
end if
Elseif range ("F3") = "12" then
'....etc sur le même esprit qu'au dessus...
else
'mon code si tout est négatif
end if
end sub
ou ainsi,
sub comparaison()
If range("F3") = "11" then
if Range("C8").Value = "Total Général" Then Range("C13").Value = "(tous)" else Range("C13").Value = Range("C8").Value
if Range("C10").Value = "Total Général" then Range("C14").Value = "(tous)" else Range("C14").Value = Range("C10").Value
if Range("F10").Value = "Total Général" then Range("F14").Value = "(tous)" else Range("F14").Value = Range("F10").Value
Elseif range ("F3") = "12" then
'....etc sur le même esprit qu'au dessus...
else
'mon code si tout est négatif
end if
end sub
Je vais essayer ça et je reviens vers vous,
je ne savais pas qu'il y avait une différence si le code était sur la même ligne ou non !
Edit :
" Fantastique ! "