VBA - Condition If imbriquée dans If Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
H
Hyrule
Jeune membre
Jeune membre
Messages : 17
Inscrit le : 13 juin 2014
Version d'Excel : 2010 FR

Message par Hyrule » 20 juin 2014, 12:52

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 ::D , peut-être mon approche n'est pas la bonne, donc en espérant vous lire!

Hyrule,
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 9'441
Appréciations reçues : 427
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 20 juin 2014, 13:04

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
H
Hyrule
Jeune membre
Jeune membre
Messages : 17
Inscrit le : 13 juin 2014
Version d'Excel : 2010 FR

Message par Hyrule » 20 juin 2014, 13:07

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 ! " :D
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message